CHROOT(8) | Maintenance Commands and Procedures | CHROOT(8) |
chroot
— change
root directory for a command
chroot |
newroot command |
The chroot
utility causes
command to be executed relative to
newroot. The meaning of any initial slash (/) in the
path names is changed to newroot for
command and any of its child processes. Upon
execution, the initial working directory is
newroot.
Notice that redirecting the output of command to a file, such as in:
will create the file xyz relative to the original root of command, not the new one.
The new root path name is always relative to the current root.
Even if a chroot
is currently in effect, the
newroot argument is relative to the current root of
the running process.
This command can be run only by the super-user.
The exit status of chroot
is the exit
status of command.
The following operands are supported:
Example
1 Using the chroot
Utility
The chroot
utility provides an easy way to
extract tar files (see
tar(1)) written with absolute filenames
to a different location. It is necessary to copy the shared libraries used
by tar (see ldd(1)) to
the newroot filesystem.
example# mkdir -p /tmp/lib /tmp/usr/lib example# cd /lib && cp ld.so.1 \ libavl.so.1 libc.so.1 libcmdutils.so.1 libcustr.so.1 \ libm.so.2 libmd.so.1 libmp.so.2 libnsl.so.1 \ libnvpair.so.1 libsec.so.1 libsecdb.so.1 libtsol.so.2 \ libuutil.so.1 /tmp/lib/ example# cp /usr/lib/libidmap.so.1 /tmp/usr/lib/ example# cp /usr/bin/tar /tmp example# dd if=/dev/rmt/0 | chroot /tmp tar xvf -
cd(1), ldd(1), tar(1), chroot(2), ttyname(3C), attributes(7)
Exercise extreme caution when referencing device files in the new root file system.
References by routines such as
ttyname(3C) to
stdin
, stdout
, and
stderr
will find that the device associated with the
file descriptor is unknown after chroot
is run.
March 18, 2021 | OmniOS |