AppleJack 1.3.2 fixes a serious bug associated with File Vault use that could wipe large sections of a user’s hard drive. In addition, AppleJack has been retooled to operate much more securely while doing file deletions. An added feature in this release is an automatic check for the /tmp directory (often implicated in boot problems). If the /tmp directory is not found, it is recreated (symlink to /private/var/tmp). Enjoy.
Full change log follows…
Changes since v. 1.3:
- Fixed a SERIOUS problem in the cache cleaning routine whereby an entire hard drive could be obliterated if the user’s home directory was either typed in incorrectly or if it was a file vault rather than an actual directory system.
- Improved the safety of the swap file removal routine
- Cache cleanup now leaves cached user pictures untouched, except of course when running AppleJack in deep cleaning mode.
- Added a check routine for the /tmp and /private/tmp directories, since a missing temp directory is often implicated in boot failure. AppleJack 1.3.2 will create these directories and symlinks as needed when the drive mounts for write access.
- Gave up on putting the man page in the correct location (/usr/local/man or /usr/local/share/man) and put it where it will be found on all OS configurations (/usr/share/man). man applejack should work on all systems now.
- Removed the option to search a user’s home directory for cache files outside of the ~/Library/Caches directory since this is out of scope for this application and just added to the bloat and complexity. It could also lead to some dangerous file deletions for the unwary user.
- Cache cleanup now removes the prebindOnDemandBadFiles list.
- The script now changes location at startup to /private/var/tmp, in order to minimize the potential for damage from any lingering bugs in the code.
- Bugfix in the disk repair section. (line 328 loggin: command not found).
- Finally added a decent installer! (I know I know, this should have been in here a year ago)
- Improved the logging.
- Added /System/Library/Caches to the cache cleanout routine
- Kept the cache cleaning routine from removing the LaunchServices cache since it’s not really a cache, but more of a preference file. I don’t know why Apple insists on keeping something that stores preferences in the Cache directory, but there you have it.
- Added /etc/mach_init.d directory to the .plist validation routine.
- Script feedback improvements, including coloring to make options stand out.
- Changed the option ‘reboot’ to ‘restart’ to make it more consistent with Apple lingo.