• On CBS MoneyWatch: 6 Things Never to Post on Facebook
advertisement
April 27, 2007 3:15 AM PDT

Re-running Mac OS X combo updater does not overwrite newer updates

by CNET staff

We routinely recommend that users re-apply the most recent Mac OS X combo updater (available from Apple's software download page) when significant issues arise after applying a major system update. The reasons this workaround is so effective are varied, but one is that re-installing the combination update can replace components that were damaged during the initial update process (the combo update is larger in size than the version-to-version [i.e. 10.4.8 -> 10.4.9] or "delta" update and makes any incremental release current [e.g. 10.4.1 -> 10.4.9])

Recently, some readers have inquired whether this process overwrites changes made by newer updates. For instance, will re-applying the Mac OS X 10.4.9 combo updater undo changes enacted by Security Update 2007-004, reverting system components to their earlier versions?

MacFixIt reader Nelson presents the query thusly:

"A friend of mine running Mac OS X 10.3.9 with WiFi issues related to the Security Update 2007-004 regained Airport function by reinstalling the 10.3.9 Combo Installer. Afterwards I started wondering - does he need to redo the Security Updates? However, when he ran Software Update it reported that 'all was well' with no updates needed. I wonder though if this is really the case? Does Software Update check a listing that is unaffected by the Combo reInstaller - and hence think that the Updates have been applied when actually the software is reverting to a pre-Updated condition? Or, does the 10.3.9 Combo Installer include Security Updates?"

The answer is no, re-applying the most recent Mac OS X combination updater willnot undo changes made by subsequent system updates. The Mac OS X installer application is smart enough to only overwrite file versions that are older than those contained in the designated package.

UPDATE: We verified this phenomenon as such:

  1. Inspected the startup volume of an Intel-based Mac running Mac OS X 10.4.9 that had not yet received Security Update 2007-004, and noted the following component versions:
    • /System/Library/CoreServices/loginwindow.app -- version 4.6.5
    • /System/Library/Extensions/AirPort.kext -- version 3.4.8
  2. Inspected the Universal Security Update 2007-004 package and noted the versions of several components that are replaced with new versions by the update, including:
    • /System/Library/CoreServices/loginwindow.app -- version 4.6.6
    • /System/Library/Extensions/AirPort.kext -- version 3.4.9
  3. Applied Security Update 2007-004
  4. Took note of the versions of several components replaced by the update. After applying the update, the following components carried these version numbers on the startup volume (as expected):
    • /System/Library/CoreServices/loginwindow.app -- version 4.6.6
    • /System/Library/Extensions/AirPort.kext -- version 3.4.9
  5. Looked inside the Mac OS X 10.4.9 combo updater package and noted the versions of the same components listed above, which were as follows:
    • /System/Library/CoreServices/loginwindow.app -- version 4.6.5
    • /System/Library/Extensions/AirPort.kext -- version 3.4.8
  6. Re-applied the Mac OS X 10.4.9 combo updater.
  7. Again inspected the versions of the aforementioned components on the startup volume, which remained as follows:
    • /System/Library/CoreServices/loginwindow.app -- version 4.6.6
    • /System/Library/Extensions/AirPort.kext -- version 3.4.9

As is obvious, these components -- updated by Security Update 2007-004 -- were not overwritten by the older versions included in the Mac OS X 10.4.9 combo updater.

You can, however, force the installation of older versions of specific components with the aid of Pacifist. This can be useful in situations where a newer component causes problems that can be alleviated by reverting to the older version. For instance, if a new version of the AirPort kernel extension (/System/Library/Extensions/AppleAirport.kext) breaks wireless connectivity, you can force installation of an older version of this kernel extension via these steps:

  1. Download the appropriate combo updater from Apple's download page.
  2. Download and install the shareware application Pacifist
  3. Drag the Mac OS X combo installer package (e.g. MacOSXUpd10.4.9Intel.pkg) onto the Pacifist application icon.
  4. Find the file you are looking for by clicking the disclosure triangles to reveal the targeted location.
  5. Select the file in question and click the Install button in Pacifist. You will be required to enter your administrator password.
  6. Restart your Mac

You should generally not mix and match components from different system versions because of potential compatibility issues. You will also lose any refinements brought about by the revision. Still, in a bind, replacing newer items with older ones can solve otherwise insoluble issues.

Reference:

Feedback? Late-breakers@macfixit.com.

Resources

  • software download page
  • Pacifist
  • Apple's download page
  • Re-installing components t...
  • Late-breakers@macfixit.com
  • More from Late-Breakers
  • Recent posts from MacFixIt
    The OS X 10.7 buzz starts--something big in the next release?
    MacFixIt Answers
    Safari still crashing after update?
    Safari 5.0.1 update fixes black Mail backgrounds, autofill, and more
    Making the switch to Apple? Get the perfect setup
    Apple releases OS X 10.6.4 update for iMacs; trackpad driver
    CNET Apple Byte: iPhone to T-Mobile?
    iTunes not connecting to the iTunes store after updating
    by macjournals April 27, 2007 4:23 AM PDT
    "The answer is no, re-applying the most recent Mac OS X combination updater will <em>not</em> undo changes made by subsequent system updates."

    Uh...do you have a source for this assertion? None of Apple's installer or packagemaker documentation that I can find says this is true, and in fact, the Software Delivery Guide explicitly mentions that the installer <em>ignores</em> the versions of bundles and packages that it installs. There's not a single option anywhere for a developer to specify that a file should or should not be installed if a newer version is found, just documentation that says the files "are" copied.

    Plus, if this were true, then why would applying a "Combo" updater work - wouldn't the installer find "more recent" versions of most of the system files already installed and skip them? How could it possibly know that you wanted to recopy those files but that it should ignore other newer files? The installer does not checksum existing files and compare them against the package before copying the package to the destination, to the best of my knowledge.

    There are package options for Unix shell scripts to run if the installer finds that a <em>package</em> (not an individual file) is already installed when you're trying to install some version of it, but the best they can do is stop the installation, as I read the docs.

    The reason that Software Update didn't tell the reader to apply the newer updates again is that the receipts for the newer updates are still in /Library/Receipts, so Software Update thinks they've already been installed correctly. Reinstalling the Mac OS X 10.4.9 combo updater does not remove the receipt for Security Update 2007-004, for example (it can't, since the security update was released after the combo updater, and installers can't predict the future), so Software Update won't ask you to apply the security update again.

    I'd love to see some sourcing on this, and it'd be very cool if I'm wrong, but I don't think I am - installing older packages overwrites newer files with older versions, and it's <em>your</em> responsibility to make sure the newer versions get put back in place. If there's documentation showing otherwise, I'd really love to see it.
    Reply to this comment
    advertisement

    About MacFixIt

    MacFixIt is CNET's troubleshooting resource for all things Mac. The information here helps you navigate the ins-and-outs of Mac ownership with how-tos, troubleshooting information, news, reviews, and more.

    Add this feed to your online news reader