This version is now deprecated, consult the downloads page for a link to the latest version.
This is a complete rewrite of the pfix utility. In my last few revisions of the 2.x branch a number of potential problems were revealed to me. Of the reproducible errors – errors due to problems with kextd were the main culprit, even when forced rebuilding of kextcache was done. Though failures such as these were limited to a small number of end users any failure of pfix is unacceptable to me. After extensive testing of many different new methods to resolve all of these issues pfix 3.0 is ready for public release.
This version will take longer to execute than previous versions when correcting permissions and rebuilding caches for a root system volume but it will do so with virtually no possibility of errors. If all you are doing is swapping around a few kexts in /Extra however I have introduced a flag to skip the repair of the system permissions and caches for a very quick operation. Additionally pfix is now designed to operate from /usr/sbin/ like a standard *nix utility and includes a usage output viewable by running “pfix –help” (without the quotes) from a terminal.
Basic Usage: pfix [option]
Example Usage: pfix -s -v 1 -t /
Option GNU long option Meaning
-h –help Show this message
-s –skipsystem Don’t repair /system/library/extensions
-v <level> –verbose <level> Set kextcache output’s verbosity level
-t <path> –target <path> Path to target partition to run pfix on
A complete list of the changes in v3.0 are as follows:
- -Completely re-written and restructured code with much cleaner syntax and improved functionality
- -Improved terminal log output information and format
- -Added run time flags
- -Added help flag and usage output
- -Added skip system repair flag (if you only need to quickly repair /Extra)
- -Added kextcache/diskutil verbosity flag (no verbosity by default [quiet])
- -Added target flag (a list of available targets will be displayed by default)
- -Debugged several functions for improved operation and log output when run from OS X installation devices.
- -Now removes all system caches prior to rebuilding instead of only removing kext caches.
- -Repair permissions using diskutil prior to rebuilding caches when targeting root partition. [no longer optional]
- -Updates prelinked kernel cache & kext info caches prior to rebuilding system kext caches when targeting root.
- -Created installation package to properly install pfix to /usr/sbin/ so that it is available from any terminal path.