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
.Fx 5.2 , there is a real possibility that the standard tools in /bin and /sbin may become non-functional due to a failed upgrade or a disk error. The tools in /rescue are statically linked and should therefore be more resistant to damage. However, being statically linked, the tools in /rescue are also less functional 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
.Fx rescue or ""live file system"" CD-ROM (e.g., disc2 of the officially released
.Fx 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 standard system.
The /rescue tools are compiled using crunchgen(1), which makes them considerably more compact than the standard utilities. To build a
.Fx 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
.Fx source and binary upgrades.