2024年10月Mac OS X系统保养的方法(2)
首先,先来逐条研究一下经常提到的维护和保养措施,来看看应该在什么时候使用这些步骤,然后再归纳一下,看看用户日常应该做些什么。
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命令也可以通过MacJanitor这个免费软件。使用终端命令,则需输入:
sudo periodic 脚本名 回车
脚本名应该是daily、weekly或monthly。如果要同时运行三个维护脚本,则可输入:
sudo periodic daily weekly monthly
第三方软件MacJanitor也具有这个功能。
在Leopard上,情况有所变化。当机器从睡眠中唤醒后,一旦发现系统没有及时运行清理脚本,它会立即开始自动调用这些脚本。所以,Leopard的用户完全没必要考虑自己运行清理脚本的问题。