RESCUE(8) BSD System Manager's Manual RESCUE(8)
rescue -- rescue utilities in /rescue
The /rescue directory contains a collection of common utilities intended
for use in recovering a badly damaged system. With the transition to a
dynamically-linked root beginning with FreeBSD 5.2, there is a real pos-
sibility that the standard tools in /bin and /sbin may become non-func-
tional due to a failed upgrade or a disk error. The tools in /rescue are
statically linked and should therefore be more resistant to damage. How-
ever, being statically linked, the tools in /rescue are also less func-
tional than the standard utilities. In particular, they do not have full
use of the locale, pam(3), and nsswitch libraries.
If your system fails to boot, and it shows a prompt similar to:
Enter full pathname of shell or RETURN for /bin/sh:
the first thing to try running is the standard shell, /bin/sh. If that
fails, try running /rescue/sh, which is the rescue shell. To repair the
system, the root partition must first be remounted read-write. This can
be done with the following mount(8) command:
/rescue/mount -uw /
The next step is to double-check the contents of /bin, /sbin, and
/usr/lib, possibly mounting a FreeBSD rescue or ``live file system'' CD-
ROM (e.g., disc2 of the officially released FreeBSD ISO images) and copy-
ing files from there. Once it is possible to successfully run /bin/sh,
/bin/ls, and other standard utilities, try rebooting back into the stan-
The /rescue tools are compiled using crunchgen(1), which makes them con-
siderably more compact than the standard utilities. To build a FreeBSD
system where space is critical, /rescue can be used as a replacement for
the standard /bin and /sbin directories; simply change /bin and /sbin to
be symbolic links pointing to /rescue. Since /rescue is statically
linked, it should also be possible to dispense with much of /usr/lib in
such an environment.
In contrast to its predecessor /stand, /rescue is updated during normal
FreeBSD source and binary upgrades.
/rescue Root of the rescue hierarchy.
The rescue utilities first appeared in FreeBSD 5.2.
The rescue system was written by Tim Kientzle <kientzleATacm.org>. This
manual page was written by Simon L. Nielsen <simonATFreeBSD.org>, based on
text by Tim Kientzle <kientzleATacm.org>.
Most of the rescue tools work even in a fairly crippled system. The most
egregious exception is the rescue version of vi(1), which currently
requires that /usr be mounted so that it can access the termcap(5) files.
Hopefully, a failsafe termcap(3) entry will eventually be added into the
ncurses(3) library, so that /rescue/vi can be used even in a system where
/usr cannot immediately be mounted. In the meantime, the rescue version
of the ed(1) editor can be used from /rescue/ed if you need to edit
files, but cannot mount /usr.
BSD July 23, 2003 BSD