软件更新提示和巫毒教

上个星期,Jeffrey Zeldman shared the procedure used at his design studio for updating Mac OS X system softwareI hesitate to call his tips “advice”, because he doesn’t use that term — rather, it’s simply a statement of fact.Here’s what we did, and we avoided any problems.

Some of his steps are quite sound, and I highly recommend them. Others, I suspect, are entirely superfluous, hinging mostly on superstition我认为这是值得研究的清单。

首先,这是程序一世use when installing system updates (e.g从10.3.6到10.3.7)和安全更新。

  1. 在更新发布后至少等待一个工作日。

    By and large, Apple’s software updaters work exactly as they shouldBut, every once in a while, a bad one slips through the QA cracks例如该iTunes 2.0安装程序for Mac OS X could erase entire volumes; or the QuickTime 6.0.2 installer, which不行on systems running newer versions of Perl than the default system software.

    所以,我说,等一两天If Apple releases an update on a Friday, wait until Monday evening or TuesdaySee if any widespread reports of problems appear on sites likeMacFixItMacInTouch关键词在这里广泛; a small handful of unreproducible reports regarding problems after running an update are inevitableWhat I look for are clear signs that something is wrong with the update.

  2. 运行完整备份。Of course you should have an automated backup schedule in place, but, if, like most people, you only create backups manually, now is the time to do itChalk it up to Murphy’s Law是的,你的意愿很大决不encounter a catastrophic problem while running Software Update — but if you do, and you don’t have a recent backup, you’ll wish you did如果您有最新的可用备份,则不会丢失数据。

    更新:我用SuperDuper用于克隆我的整个启动驱动器我强烈推荐它。

  3. 登出然后在按住Shift键的同时重新登录。

    I’ll admit right up front that I have no evidence that this step is in fact at all usefulMy thinking is that it’s safer to run Software Update under pristine login conditions, with no running processes other than the system softwareLogging out quits anything running in your current session; logging back in while holding Shift suppresses your login startup items.

    You’re supposed to be able to run Software Update any time you want, and I’m aware of no technical reason why you should quit your running processes while it runsBut, you have to restart after running Software Update anyway (for system and security updates) — so I figure why not log out first and allow Software Update to run under pristine conditions? Even if this is just superstitious voodoo, it’s harmless voodooIt only costs about a minute of your time.

  4. 运行软件更新运行时,请勿使用其他应用程序。Again, I have no evidence to indicate that this step is actually usefulSoftware Update is designed to allow you to run it in the background — you can surf the web with Safari even while Software Update is installing an updated version of SafariBut, why take a chance? I log in, I start Software Update, and I don’t do anything else until it finishes.

  5. 软件更新完成后,立即重新启动。

泽尔德曼的提示

Zeldman的预安装步骤:

  • 使用删除旧的字体缓存DeepSix或类似的工具(我喜欢字体缓存清除程序, but the manufacturer of that free tool appears to be in transition.)

This is the first I’ve heard about any problems related to “font caches”, and, judging from the product description, they seem to mostly affect apps from Adobe, Macromedia, and MicrosoftEven if it’s unnecessary voodoo, it’s likely harmless voodoo — the only downside is the time it takes to rebuild the caches.

  • Use鸡尾酒的Pilot mode to repair permissions, run cron scripts, prebind the system, and clean system, user, and internet caches将Pilot设置为在完成任务后重新启动。

在这里,我轻轻地不同意Mac OS X’s “Repair Permissions” feature is a bit of a misnomer; “Restore Permissions” or “Reset Permissions” would be a better name“Repair” makes it sound as though files are broken if their permissions are affected by this process; that’s not the caseFiles might have perfectly valid permissions but differ from what’s expected by the Repair Permissions process.

这篇Apple知识库文章explains the Repair Permissions process in detail, but here’s the basic gist:

Many things you install in Mac OS X are installed from package files (whose filename extension is “.pkg”)Each time something is installed from a package file, a “Bill of Materials” file (whose filename extension is “.bom”) is stored in the package’s receipt file, which is kept in /Library/Receipts/If you look in the Receipts folder, for example, you should see all kinds of files that end with .pkg, including some that were created when Mac OS X was installed (for example, BaseSystem.pkg)Don’t worry, these files don’t take up much disk space and you shouldn’t put them in the Trash.

Each of those “.bom” files contains a list of the files installed by that package, and the proper permissions for each file.

When you use Disk Utility to verify or repair disk permissions, it reviews each of the .bom files in /Library/Receipts/ and compares its list to the actual permissions on each file listedIf the permissions differ, Disk Utility reports the difference (and corrects them if you use the Repair feature).

However, just because a file’s current permissions differ from its original permissions as specified in the corresponding ‘.bom’ file, does not mean that the current permissions are “wrong”The reason this feature exists is that sometimes, the permissionswrong, causing some sort of problem, and running Repair Permissions solves the problem.

But if you are not experiencing any symptoms that would indicate permission-related problems, there is no reason to run Repair Permissions修复权限是a periodic maintenance task or a preventive measure(Although, to be fair to everyone who thinks that it一些定期维护任务Apple’s own support documentation hints that it is。)

实际上,有时运行修复权限可以创建problems. In fact, Zeldman himself was bitten by just such a problem earlier this year, when he upgraded from Jaguar to Panther,,并在恢复并让Panther成功运行后,结果无法打印

The problem in that case is that when upgrading from Jaguar (10.2) to Panther (10.3), the Panther installer failed to create several new user accounts, which were necessary for Panther but didn’t exist under Jaguar and earlier versions of Mac OS XThe problem wasn’t triggered until and if you ran Repair Permissions, because files which were supposed to belong to these new “users” couldn’t be assigned to them because the users didn’t actually exist.

Bits of harmless voodoo from the days of the old Mac OS included rebuilding the desktop and zapping the PRAM.Having problems? Rebuild the desktop and zap the PRAM.More often than not, doing these things wouldn’t solve the problem, but, they didn’t cause any harm, either. (And, occasionally, they没有solve actual problems.) Non-technical Mac users had no idea what these things actually meant, they simply knew the magic keystrokes to invoke them, and if they were experiencing problems they didn’t understand, these things were “worth a shot”.

Mac OS X的修复权限功能是现代版本Just remember that there’s no reason to invoke it unless you’re experiencing problems; it’s not a preventive measure, and even when it does make “repairs”, it’s not necessarily a sign that there was anything wrong.

As for the remainder of the tasks in Cocktail’s “Pilot” mode, they’re needless as wellDiddling your prebindings before running Software Update is just wasted time, and those 3:15 am daily cron tasks are inessential (mostly just cleaning up temporary files and archiving logs).

Back to Zeldman’s tips:

  • 运行完整备份。

是的,一点没错仅在您不关心数据时才忽略此建议。

  • In System Preferences, under Accounts: Startup Items, turn off third-party startup items such as Extensis Suitcase, DragThing, Default Folder, Ittec, and so on.

这似乎是一些不必要的工作Holding down Shift while logging in temporarily suppresses these itemsBut Zeldman’s general idea here is the same as mine: let Software Update run in a pristine login environment.

  • Remove external hard drives from the desktop by dragging their icons to the Trash.

资本理念There’s no downside, and it avoids any chance that you might lose data on those volumes as a result of bugs in the installer scripts.

  • It is now safe to open System Preferences, download OS X 10.3.7 update and run the installerHit RESTART when prompted to do so after the software finishes installing itself.

I’ll just note that beginning with Panther, you can invoke Software Update from the Apple menu at any time.

以下是Zeldman的安装后步骤:

  • 再次删除字体缓存。

As stated before, I’m unfamiliar with this entire issue of problematic font caches, so take the following with a grain of untested salt: re-deleting these caches is harmless, but probably unnecessary if you also deleted them immediately prior to running Software Update.

  • Use Cocktail’s Pilot mode to once again repair permissions, run cron scripts, prebind the system, and clean system, user, and internet caches, and so onLet Cocktail restart the computer after these tasks have been performed..

一切都不必要了After running Software Update, your prebindings should be up-to-date — that’s what happens during the “Optimizing System Performance” update stage that takes so much timeDoing this again now is like taking a shower after taking a shower.

  • 慢慢带回第三方启动项。

I can’t think of a good reason to do this slowly — I just log in normally, and let my login items launch as usualOnly if I encounter a problem during login would I consider enabling my login items one at a time to identify conflictsRemember that you can always hold down the Shift key while logging in to suppress all login startup items — so you should never find yourself in a situation where a startup item gone bad prevents you from being able to log in.

  • After working with the Mac for a while without experiencing problems, run another full backup.

More good advice (so long as you’re not so foolish as to replace your pre-update backup with the post-update backup — keep them both, just in case a problem pops up after your post-installation backup.).