Professional Documents
Culture Documents
Beyond these basic functions, AppleJack can also test your RAM
(if you choose to install the included memtest), disable auto
login, disable login items for a user, bless a new System folder,
and more. These last options are only available from the expert
menu (accessible by hitting x from in AppleJack's main menu),
and should be considered experimental at this point.
APPLEJACK REQUIREMENTS
1. AppleJack v 1.6.x requires Mac OS X 10.4.x, 10.5.x or 10.6.x on
Intel or PowerPC (but see known issues for 10.4, 10.4.1, 10.4.2).
For Panther and Jaguar users, please use the latest 1.4.x
version available.
2. The ability to boot into single user mode (some users may be
locked out from single user mode because of corporate IT
policies and open firmware security locks).
3. A wired keyboard, unless you are using Mac OS X 10.4.3 or
later. (Previous versions of Mac OS X do not support wireless
keyboards in single user mode.)
4. An ability to read documentation, and follow instructions :-)
INSTALLATION
Mount the AppleJack disk image, and run the AppleJack.pkg
installer.
APPLEJACK USAGE
1. You can type 'manapplejack' in a terminal window for complete
usage instructions.
2. Restart your computer. When the "bong" sounds, hold down
the command and s keys until you get lots of text appearing
on a black screen. You are now in single user mode. If you've
used the installer, you should just be able to type 'applejack' at
the prompt and be on your way.
If you get an error message saying that Apple Jack could not
be found type in the following address to let your Mac know
where it is located on your system.
/private/var/root/Library/Scripts/applejack.sh
3. Auto mode: You can let the script run through its tasks
automatically by typing 'applejackauto'. If you want the
machine to automatically restart at the end of its tasks, use
'applejackautorestart'. You can also tell the computer to shut
down automatically at the end by using the command line
'applejackautoshutdown'.
3a. Deep Auto mode: If you want to let AppleJack clean out all
cache files, including the Launch Services database and any
cached User Pictures, use 'applejackAUTO' instead. Use this if
you still have problems booting after running AppleJack
already.
4. Interactive mode: To run through just one task, or to run the
script manually, type 'applejack' and then choose tasks from
the menu. Running the script in interactive mode has the
benefit of giving you options for working with user level cache
and preference files, not just the default system level caches
and preferences. To select an option, type the highlighted
number or letter associated with the action, and then hit
return. Whenever you enter a choice in AppleJack, you will
need to hit return for that choice to take effect.
4. Corrupted preference files are moved into a directory that will
mirror the original preference directory, with (Corrupt) added
to the directory name. For example, corrupt preferences files
found in ~/Library/Preferences will be moved to
~/Library/Preferences(Corrupt). After running AppleJack,
you'll probably want to take a look at them (and most likely
throw out those folders). As of version 1.4.2, AppleJack now
creates a copy of the directory tree inside the (Corrupt) folder
so that if any files were deeply nested inside the original
preference folder, they will be placed in an identical directory
hierarchy in the new (Corrupt) folder. This way, if for any
reason you would want to move a preference file back, you
know where it should go.
6. AppleJack has a primitive logging mechanism. It writes a
journal of most of its activity to /var/log/AppleJack.log.
AppleJack will automatically reset the log the next time you
run it, if the file should ever reach a size somewhat over 500k.
CREDITS
Current Version: There would probably be no AppleJack for
Leopard or Snow Leopard without the yeoman efforts of Steve
Anthony <sma310 at lehigh dot edu>,
<http://sourceforge.net/users/ultramathman/>. He put in countless
hours into solving the Leopard startup riddle, thereby giving
Leopard compatibility a chance at seeing the light of day. Also, I
wish to thank Dave Provine at Premier Mac for helping kickstart
the development process by providing 3 test partitions of Snow
Leopard for me to work with. A big thank you.
DONATIONS
If you would like to contribute to further AppleJack development,
please visit <http://theapotek.com/donations/?i=AppleJack>. Any
amount is greatly appreciated. Also, I do gratefully receive
suggestions for improving the AppleJack script. Please post
suggestions to the feature request link mentioned above.
KNOWN ISSUES:
(all versions) Sometimes odd error or log messages will show
up from the Mac OS X subsystem and insert themselves right
into AppleJack's interface. In single user mode, the screen is
the console, so it is extremely difficult to suppress all these
messages. Normally you can ignore them as long as you can
still use the interface.
(v. 1.4) Some users running Mac OS X 10.4, 10.4.1, and 10.4.2
report that their system will suddenly start spitting out a line
like 'Limiting closed port RST response from 251 to 250
packets per second'. Some users have been able to continue to
use AppleJack by ignoring the lines being written to the
screen, while others appear to have their computers hang
when this happens. This appears to be related to changes in
the boot sequence introduced in Tiger, and the manner in which
a user upgraded to Tigerthough no clear pattern has
emerged. It appears that the new boot mechanism (relying
upon launchd rather than init) has some issues when used in
single user mode. Anecdotal reports indicate that this problem
might have disappeared in 10.4.3.
(all versions) AppleJack and fsck (disk repair). When you run
AppleJack in auto mode, it's hard to know whether the disk
repair actually has finished repairing all issues on the hard
drive. This is because the disk repair utility (the "fsck"
program) returns a 0 when finished if a) there were no errors,
or b) the errors were fixed. There might possibly be errors that
weren't fixed, but there's no way for AppleJack to know this. If
you'd like to make 100% certain that your hard drive has been
repaired, I recommend you run AppleJack in manual mode so
you can repeat the disk repair routine until your disk gets a
clean bill of health. If your disk never gets a clean bill of health,
it's time to back up your data and either reformat or use a tool
like DiskWarrior. The built-in fsck has its limitations.
TO UNINSTALL:
If you are running AppleJack version 1.4.3 or greater, you can
uninstall AppleJack simply by adding the 'uninstall' parameter
when you run the script in single user mode, like this:
applejackuninstall
If you want to uninstall AppleJack without booting into single
user mode, you can do it by opening a Terminal window and
typing:
sudo/private/var/root/Library/Scripts/applejack.shuninstall
Please note: The uninstall command will not remove the optional
Memtest OS X files. If you selected to have them installed during
the AppleJack installation, you will need to remove those files
manually.
VERSION HISTORY
#1.6
+ Snow Leopard compatibility [feature 2845796] (Thanks
again to Steve Anthony)
- Improved limits on output from syslog to STDOUT
- Simplified startup of services on Leopard and Snow
Leopard
- Fixed bug in creation of user account lists in Snow
Leopard where system accounts would show up
+ S.M.A.R.T. status verification is now being done in the
expert mode. I still want to implement this using
smartmontools, but for now diskutil will do.
+ Blessing of Mac OS X System folders on attached
volumes is now possible. This is a primitive bless, ie, it
does not create boot files, but simply blesses the
chosen System folder and (optionally) sets it to be used
for startup on next launch.
#1.5.1
- Fixed bug [ 2086281 ] Memtest installed with wrong
ownership
- Fixed small bug in chooseUserDirectory()
#1.5
+ Leopard compatibility! (Thanks Steve Anthony!)
- Improved console output suppression from launchd
processes.
- Improved the process of finding valid user directories,
drawing on directory services (dscl), /etc/passwd, and
/Users directory as needed. Users can now be chosen
by user id or user name, as well as the old method of
entereing the home directory.
- Logging is more complete
#1.4.3
- Compatible with Intel-based Mac OS X systems.
+ Added an automated uninstaller routine, to enable easy
and almost foolproof uninstallation of AppleJack.
+ Added /var/root/Library/Caches to the system cache
cleanup routine.
+ Experimental expert mode exists, but is currently
hidden until it can be tested further. (see Appendix B).
The only well-tested options at this point are the
memory test using the included Memtest utility, and
the option to disable auto login.
- Improved the internal coding of user-input prompts.
Uses a standardized interface for these functions now.
- The preference file check now uses a null byte
character to separate files rather than an arbitrary
"improbable" string.
____________________________________________________________
Please post bugs to the bug reporting link mentioned above, and
please attach the AppleJack log with your report.
Thanks!