Restoring the Directory Services Database
If the local directory database is damaged, boot into single-user mode by holding down
-S as the system starts up.
Next, check to see if you have a backup of the
NetInfo database. The
/etc/daily
cron
job backs up the database each time it is
run. You can find the backup in
/var/backups/local.nidump
. If you
don’t have a backup, you won’t be
able to restore. The local.nidump
file is
overwritten each time the cron
job runs, so make
sure you back it up regularly (preferably to some form of removable
media).
Warning
If your computer is generally not turned
on at 3:15 a.m. (the default time for the daily
cron
job), you’ll never get a
backup of your local directory. You can solve this problem by editing
/etc/crontab
to run this job at a different
time, or to run the job periodically with the command sudo
periodic daily
. see Section 2.3.1 in Chapter 2 for more details.
After the system boots in single-user mode, you should:
Wait for the
root#
prompt to come up.Fix any filesystem errors; if you are using a journaled filesystem, this step won’t be necessary (and if you try to run this command, you’ll get an error):
# /sbin/fsck -y
Mount the
root
filesystem as read/write:# /sbin/mount -uw /
Change directories and go to the NetInfo database directory:
# cd /var/db/netinfo/
Move the database out of the way and give it a different name:
# mv local.nidb/ local.nidb.broken ...
Get Mac OS X Panther for Unix Geeks, Second Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.