1、MAC OS 日常维护Mac OS X系统的日常维护和保养究竟应该包括哪些内容,一直众说不一。Web上的文章更是花样百出,少则一页,多则十几页,甚至在某些问题上彼此矛盾,即使是苹果自己的知识库的文章都有相互矛盾的地方。比较全面的维护和保养的文章,一般都提及了以下内容:1。运行日常维护脚本(Scripts);2。清除缓存(Caches);3。修理和备份属性文件;4。清理磁盘碎片(Defragment)。5。修复磁盘权限;6。检查并修理磁盘;7。清理桌面;8。重置 Safari; 9。重建Spotlight数据库。更具体的,甚至规定了每日、每周、每月以及每季度用户应该如何如何。从内容上看,它们实际
2、上包括了检修甚至是急救的内容,还包含一点系统优化的内容。而上面没有提到的内容,则包括日常备份、软件及固件的升级、笔记本电池软件的校正。实际上,从用户的日常使用来说,终归苹果电脑不是一辆车,不能象给车进行定期维修一样往修车店里送,而且除了某些基本的维护外,也没必要每次保养都上全活儿。更主要的,如果在日常使用中每天、每星期、每月、每季度甚至每年都要花费那么多的时间来进行维护和保养,这些时间累计起来恐怕比某些用户的用机时间都长。即使是系统管理员也不可能对所管理的所有机器都定期上全活。甚至,我怀疑那些洋洋洒洒大书特书Mac OS X维修和保养的人,对自己的机器也是那么保养的。维护和保养的目的其实应该以
3、保证系统目前的性能为主,也就是说通过维护和保养,让你的Mac OS X能够保持目前的性能就已经足够了。这看起来很容易,但实际上并不是如此。换个说法就是,从系统和软件初装一切就续开始,通过一段时间的使用,3个月、半年、一年甚至更长时间,你Mac OS X系统还能跟初始安装时的性能相差无几,那就说明你的机器维护和保养做得相当充分。可是,有多少人能做到这点?首先,先来逐条研究一下经常提到的维护和保养措施,来看看应该在什么时候使用这些步骤,然后再归纳一下,看看用户日常应该做些什么。1。运行日常维护脚本(Scripts)Unix系统下有几个脚本文件,最主要的位于/etc/periodic/下的文件夹中。
4、以前,由于Unix系统往往做为公司或组织信息系统的核心,所以一般也不停机。这些脚本的设计目的,就是针对不停机的Unix进行一定的清理。每到夜里3点15分,系统就会开始运行每日清理脚本对系统进行清理。根据不同的Mac OS X系统,这些清理包括清除CrashReporter、tmp文件夹里的文件、清除垃圾文件、检查次系统状态、更新系统日志、备份NetInfo和asl 日志等。清理完毕将在/var/log/文件夹下产生daily.out文件。每周六夜里3点15分,系统开始运行每周清理脚本进行每周清理。清理的内容包括重建locate和whatis数据库,并各种日志进行更替。最后在/var/log/文
5、件夹下产生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/下找到peri
6、odic.conf ,然后根据该文件的设定,到/etc /periodic/下运行相应文件夹里的相应应用。应用启动的时间的设定在上述的plist 文件中。Leopard以外的其它版本的Mac OS X的运作过程和清理内容与Leopard稍有不同。由于这些脚本文件是为不停机的系统编写的,因此,只有在预设的时间里,你的电脑没有关机或休眠时,它们才能如期完成任务。如果由于机器休眠或关机而错过了这些脚本的运行时间,下次什么时候运行就成了一个问题。在Leopard以前的版本,launchd 是根据系统定时器来设定脚本运行时间的,而系统定时器不会计算机器的睡眠时间,因此会将定时的时间向后推迟,也就是说,如
7、果你夜里1点15分机器处于睡眠,此时距离启动清理脚本的时间为2小时。当你早晨8点将电脑唤醒后,系统定时仍然以为需要两小时后才能进行清理,于是等到早上10点,你就会发现机器变得很慢,原因是此时机器自动启动了清理脚本。如果你每天只用1、2个小时的电脑,那将很难估计什么时候机器会做自动清理。因此,就不如没次开机或唤醒电脑后,主动运行这些清理脚本。运行这些脚本,可以通过终端的periodic命令也可以通过MacJanitor这个免费软件。使用终端命令,则需输入:sudo periodic 脚本名 回车脚本名应该是daily、weekly 或monthly。如果要同时运行三个维护脚本,则可输入:sudo
8、 periodic daily weekly monthly第三方软件MacJanitor也具有这个功能。在Leopard上,情况有所变化。当机器从睡眠中唤醒后,一旦发现系统没有及时运行清理脚本,它会立即开始自动调用这些脚本。所以,Leopard的用户完全没必要考虑自己运行清理脚本的问题。2。清除缓存(Caches)首先要弄明白什么叫缓存以及缓存是干什么用的,然后才能去考虑是否应该定期清除它。电脑里Cache 到处可见,主板上有Cache,根据机型不同,可能是独立的硬件也可能在处理器上; 硬盘上有Cache; 文件系统里仍然有Cache,而应用,比如Safari ,也有Cache。Cache本
9、身是个法语词,表示的是临时储藏的地方。在电脑运行时,为了不让处理器等待数据,人们就建立起一个个临时存储数据的地方。总言之,由于Cache的存在,更由于系统和应用的相关数据储存在Cache中,系统和应用才会运行得快。换句话说,如果Cache是空的,在系统运行时,机器首先查看Cache ,当没有发现相关内容时,再去调用相关应用,并将系统和应用的数据和状态存于Cache中,这个过程就比直接从Cache里能找到这些数据和状态慢得多。但是如果Cache里面的东西太多或空间不足,在调用新应用或者是应用产生的数据量过大时,部分内容需要从Cache 中腾出去,才能在Cache 中添加新的东西。这个腾挪的过程本
10、身机器自己就可以控制。当然,如果要人为的清空缓存,可能比机器的清空速度要快些,但是在这么做的同时,你也将其它所有应用的缓存都清除了,这势必会影响那些应用的使用性能。主板上的Cache 内存,在关机后,内容便消失了; 而以文件形式保存到硬盘里的Cache ,随系统或应用的使用情况而不同。可以说,只有少数情况下,需要人为地清除缓存。比如,缓存内的数据出现错误,造成系统或应用不能正常运行。当出现这种情况时,作为用户你可以感觉到系统或应用的不正常,此时,你可能采取其它的障碍排除的步骤,而清空缓存也是值得考虑的。通过上述的分析,不难看出,如果缓存内的数据没有错误,没必要来清空缓存,而清空缓存以后,反而会
11、对性能产生负面影响。因此,这个做法应该看作是故障清除的手段,没必要日常定时进行。清空缓存的方法最好借助其它应用,而不是自己一步步地删除。可以采用Cocktail、Leopard Cache Cleaner或Tiger Cache Cleaner。Tiger的用户也可以使用 AppleJack.3。修理和备份属性文件(plist)。在系统资源库、硬盘资源库的Preferences和每个用户的Preferences文件夹内存在大量 plist文件。这些文件里包含着系统或应用的设置,很多属性文件是在应用的使用中产生的。当应用出现故障或存在bug,通过删除这些属性文件,可以使应用恢复到初始状态。在某些
12、情况下,用户通过应用界面下的预制或偏好设置(Preferences),将该应用个性化。这些个性化数据就存在相应应用的plist文件中。如果应用出现故障时,用户把它的 plist文件删除,此时,应用可能得以恢复,但是,用户对该应用的个性化设置也丢了。这就是为什么需要备份属性文件的理由。但是,多数情况下,应用本身提供的可修改的属性是有限的,而且即使是个性化的信息很重要、很难记住,一旦该应用设置完毕,以后就都按这个设置进行了。因此,即使是备份,备份一遍也就够了,无须定期备份。因此,这不应该看作是日常维护的步骤。4。清理磁盘碎片(Defragment)电脑在向磁盘读写数据的时候并不总是将数据写到持续的
13、扇区。在电脑使用一段时间以后,经常编辑或变更的文件可能会一小片一小片地分散在硬盘各处。文件目录将硬盘上这些小片的位置通知给操作系统。对于操作系统来说,文件就象完整的一块儿一样。清理磁盘碎片则是将文件的所有片段复制、连接并转移到持续的扇区,然后重建文件目录。这样,就很便于操作系统对文件的查找。清理磁盘碎片对于Windows系统来说有其必要性,但是,对于Mac OS X系统来说,通常情况下是不需要的。这是因为苹果采用了若干技术尽可能地避免碎片的产生。首先,HFS+格式尽量避免磁盘空间的重复使用,其次,HFS+的宗卷可以延迟排布(Delayed Allocation),就是当某个磁盘段(block)
14、 面临书写数据时,为该数据所准备的磁盘空间大小不被算做自由空间,但是却没有列在自由空间表中,而这些数据则存于内存中,直到系统要清除缓冲或应用要求同步时,才一次性倾倒到硬盘上。除此之外,苹果系统还采用了”Hot-File- Adaptive-clustering”技术,即检查逐渐增加内容的文件,一旦发现该这些文件的碎片过多,系统就自动清理该文件的碎片。另外,由于现在的硬盘容量、缓存和速度的增加,许多应用对于添加和修改文件的处理,从以前的附加到文件上,改成现在的一次性重新书写改文件,这样就避免了碎片的产生。更应该注意的是,为了提高操作系统启动性能,苹果把一些文件放在一起,如果把它们挪到别的地方去,
15、系统将运行缓慢。总之,除非进行影视文件的操作和编辑,需要大量的不间断的磁盘空间来储存文件,否则,很没必要对Mac OS X系统清理磁盘碎片。如果要清理碎片,可以使用TechTool Pro 或iDefrag 。5。修理磁盘权限。使用磁盘工具修理权限会给人一种错觉,因为它并不能修理硬盘上所有的文件的权限。 对于使用苹果的安装软件(Installer)来安装的pkg文件,在软件安装后,会在硬盘下资源库Receipts文件夹里留下一些印记。在Mac OS 10.5以前的版本中,这个Receipts文件夹会将pkg文件存在该处,而对于使用Leopard的packageMaker软件所做的安装包来说,它
16、在Receipts文件夹里只留下一个bom文件而不在保留pkg文件。 在使用磁盘工具修复权限时,系统要检查Receipts包里的文件,如果是pkg文件,它将检查包内的Archive.bom文件。bom 文件里记录着应用安装时各个文件和文件夹的权限。磁盘工具的修理权限作用就是凭借bom文件来核对和修改文件权限。有些人甚至认为磁盘工具只能修复苹果自己的系统和应用文件,但苹果公司知识库文章25751中似乎说的是只要应用在Receipts文件夹中有bom文件这种收据,就可以检查该应用被安装后的文件或文件夹的权限。总之,用磁盘工具修理磁盘权限,所起的作用有限。一般情况下在安装软件更新或第三方软件时,由于
17、所装的软件可能需要修改某些系统文件或文件夹的权限,并在安装结束时没有将所修改的权限更改回来,这可能会造成系统错误。另外,在突然停电、关机不当、或硬盘损坏等极端情况下,也可能出现错误,但如果是这种情况,整个系统都可能启动不了,就已经不是维护和保养的问题了。因此,在系统升级或用安装软件(第三方的安装软件或苹果的Installer-pkg 文件) 安装了新软件以后,需要做权限修复之外,就只有在故障发生时用来修复权限比较合适。当然,如果没事干,就去修复一下权限对磁盘也没多大坏处。6。检查并修理磁盘检查或修理磁盘并不能延长磁盘的使用寿命。而且,如果磁盘真的出现了严重问题,发生文件系统故障或操作系统故障以
18、后,用户自然会在使用中感觉到系统不对。但是,如果磁盘中的文件系统出现了问题,可能会影响到以后存储的文件也出现问题。因此,定期检查磁盘状况是必要的。注意:这里所说的检查并修理磁盘,不是指磁盘的SMART状态,也不是磁盘的硬件情况,而主要是宗卷和文件系统的情况。如果你的系统在10.3以上,内置硬盘SMART不能通过验证,就应该赶紧备份系统和文件,并更换硬盘。Mac OS X中有很多检修磁盘的方法,最方便的是在启动系统时,按住shift键,用安全模式(Safe mode)启动。如果系统不是通过选择了”关机”(Shut down)或” 重新启动”(Restart)而重新启动,比如Kernal Pani
19、c,停电或其它非正常因素造成的关机或重新启动,系统首先要调动fsck来修复硬盘。这也是为什么在出现异常以后,机器启动会比以往慢的原因。再有就是磁盘工具(Disk Utility)里的急救(First Aid)下的验证和修理磁盘功能。在验证磁盘时,可以使用启动硬盘内的磁盘工具对启动硬盘进行验证,也可以用系统安装盘启动,然后对磁盘进行验证。但是在修理磁盘时,则只能用系统安装盘启动。在终端下,可以采用diskutil或fsck_hfs 对硬盘进行验证。diskutil是宗卷水平的工具,而fsck_hfs则是专门针对HFS或 HFS+格式的磁盘的工具。使用diskutil时,应该输入:diskutil
20、 verifyDisk 或 verifyVolume 然后接路径。比如:diskutil verifyDisk /将检查正使用的启动硬盘的状态。注意: 苹果公司知识库上的有关文章采用的是verify 而不是verifyDisk 或 verifyVolume,显见没有及时更新。用fsck_hfs时,要先用diskutil list或df -hl弄清楚盘符(Disk Identifier),然后输入:sudo fsck_hfs -l /dev/盘符。比如:sudo fsck_hfs -l /dev/disk0s2除此之外,就是在启动时,按住?和s键以单用户模式进入系统,然后使用fsck命令,对磁盘
21、进行验证和修理。总之,以上的任何一种验证或修理方法并不花费很多时间,就可以达到维护的效果。7。清理桌面这里说的清理桌面跟Mac OS 9里的重建桌面是两回事,后者是在操作系统出现故障时的一种紧急处理方式。而这里所说的清理桌面指的是桌面上不要放太多的东西,图标不要太多。因为每个图标都被操作系统看待成是Finder上的一个窗口,每个都会占有各自的一小块内存。这一点可以在安装了XCode以后,通过 Utilities文件夹内Performance Tools里的 Quartz Debug来检查Finder状况来得以验证。因此,如果桌面上文件太多肯定比干净的桌面所用内存要多。这是一个很简单而且很实用的技巧,也是一个良好的使用习惯。但是,一般情况下个人电脑桌面的空间也是有限的,而且如果在桌面上图标或文件过多,用户自己找不到这些文件,也将不得不清理。再有,就是要看电脑自身的配制,如果内存大,硬盘大,桌面上多几个图标并不防碍什么。至少,我的24” iMac外接17苹果显示器上的延长了桌面都放满了文件,也没觉得性能降低多少。