xref: /freebsd/share/man/man8/rescue.8 (revision 7bd6fde3)
1.\" Copyright (c) 2003 Tim Kientzle <kientzle@acm.org>
2.\" Copyright (c) 2003 Simon L. Nielsen <simon@FreeBSD.org>
3.\" All rights reserved.
4.\"
5.\" Redistribution and use in source and binary forms, with or without
6.\" modification, are permitted provided that the following conditions
7.\" are met:
8.\" 1. Redistributions of source code must retain the above copyright
9.\"    notice, this list of conditions and the following disclaimer.
10.\" 2. Redistributions in binary form must reproduce the above copyright
11.\"    notice, this list of conditions and the following disclaimer in the
12.\"    documentation and/or other materials provided with the distribution.
13.\"
14.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
15.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE
18.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24.\" SUCH DAMAGE.
25.\"
26.\" $FreeBSD$
27.\"
28.Dd July 23, 2003
29.Os
30.Dt RESCUE 8
31.Sh NAME
32.Nm rescue
33.Nd rescue utilities in
34.Pa /rescue
35.Sh DESCRIPTION
36The
37.Pa /rescue
38directory contains a collection of common utilities intended for use
39in recovering a badly damaged system.
40With the transition to a dynamically-linked root beginning with
41.Fx 5.2 ,
42there is a real possibility that the standard tools in
43.Pa /bin
44and
45.Pa /sbin
46may become non-functional due to a failed upgrade or a disk error.
47The tools in
48.Pa /rescue
49are statically linked and should therefore be more resistant to
50damage.
51However, being statically linked, the tools in
52.Pa /rescue
53are also less functional than the standard utilities.
54In particular, they do not have full use of the locale,
55.Xr pam 3 ,
56and nsswitch libraries.
57.Pp
58If your system fails to boot, and it shows a prompt similar to:
59.Pp
60.Dl "Enter full pathname of shell or RETURN for /bin/sh: "
61.Pp
62the first thing to try running is the standard shell,
63.Pa /bin/sh .
64If that fails, try running
65.Pa /rescue/sh ,
66which is the
67.Nm
68shell.
69To repair the system, the root partition must first be remounted
70read-write.
71This can be done with the following
72.Xr mount 8
73command:
74.Pp
75.Dl "/rescue/mount -uw /"
76.Pp
77The next step is to double-check the contents of
78.Pa /bin , /sbin ,
79and
80.Pa /usr/lib ,
81possibly mounting a
82.Fx
83rescue or
84.Dq "live file system"
85CD-ROM (e.g.,
86.Li disc2
87of the officially released
88.Fx
89ISO images) and copying files from there.
90Once it is possible to successfully run
91.Pa /bin/sh , /bin/ls ,
92and other standard utilities, try rebooting back into the standard
93system.
94.Pp
95The
96.Pa /rescue
97tools are compiled using
98.Xr crunchgen 1 ,
99which makes them considerably more compact than the standard
100utilities.
101To build a
102.Fx
103system where space is critical,
104.Pa /rescue
105can be used as a replacement for the standard
106.Pa /bin
107and
108.Pa /sbin
109directories; simply change
110.Pa /bin
111and
112.Pa /sbin
113to be symbolic links pointing to
114.Pa /rescue .
115Since
116.Pa /rescue
117is statically linked, it should also be possible to dispense with much
118of
119.Pa /usr/lib
120in such an environment.
121.Pp
122In contrast to its predecessor
123.Pa /stand ,
124.Pa /rescue
125is updated during normal
126.Fx
127source and binary upgrades.
128.Sh FILES
129.Bl -tag -width ".Pa /rescue" -compact
130.It Pa /rescue
131Root of the
132.Nm
133hierarchy.
134.El
135.Sh SEE ALSO
136.Xr crunchgen 1 ,
137.Xr crash 8
138.Sh HISTORY
139The
140.Nm
141utilities first appeared in
142.Fx 5.2 .
143.Sh AUTHORS
144.An -nosplit
145The
146.Nm
147system was written by
148.An Tim Kientzle Aq kientzle@FreeBSD.org ,
149based on ideas taken from
150.Nx .
151This manual page was written by
152.An Simon L. Nielsen Aq simon@FreeBSD.org ,
153based on text by
154.An Tim Kientzle Aq kientzle@FreeBSD.org .
155.Sh BUGS
156Most of the
157.Nm
158tools work even in a fairly crippled system.
159The most egregious exception is the
160.Nm
161version of
162.Xr vi 1 ,
163which currently requires that
164.Pa /usr
165be mounted so that it can access the
166.Xr termcap 5
167files.
168Hopefully, a failsafe
169.Xr termcap 3
170entry will eventually be added into the
171.Xr ncurses 3
172library, so that
173.Pa /rescue/vi
174can be used even in a system where
175.Pa /usr
176cannot immediately be mounted.
177In the meantime, the
178.Nm
179version of the
180.Xr ed 1
181editor can be used from
182.Pa /rescue/ed
183if you need to edit files, but cannot mount
184.Pa /usr .
185