RESCUE(8) BSD System Manager's Manual RESCUE(8)NAMErescue — 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 copying
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.
SEE ALSOcrunchgen(1), crash(8)HISTORY
The rescue utilities first appeared in FreeBSD 5.2.
The rescue system was written by Tim Kientzle ⟨kientzle@FreeBSD.org⟩,
based on ideas taken from NetBSD. This manual page was written by Simon
L. Nielsen ⟨simon@FreeBSD.org⟩, based on text by Tim Kientzle
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