Linux / Unix: chroot Command Examples

Linux / Unix: chroot Command Examples

Change root (chroot) is an operation that changes the apparent root directory for the current running process and their children. A program that is run in such a modified environment cannot access files and commands outside that environmental directory tree.

Requirements

1. root privileges
2. another working Linux environment,such as Live CD boot or an        existing distribution
3. matching environment architectures of chroot source and destination (check current environment architecture with uname -m)
4. kernel modules which you may need in chroot environment must be loaded (for example, with modprobe)

Manually changing root in a directory

  1. Ensure you met all requirements, as per Requirements

2. Mount the temporary API filesystems:

 cd /location/of/new/root
 mount -t proc proc proc/
 mount --rbind /sys sys/
 mount --rbind /dev dev/
 mount --rbind /run run/ (optionally)

3. If you need to use an internet connection in the chroot environment, copy over the DNS details:

cp /etc/resolv.conf etc/resolv.conf

4. Change root into /location/of/new/root, specifying the shell (/bin/bash in this example):

chroot /location/of/new/root /bin/bash

5. After chrooting it may be necessary to load the local bash configuration:

 source /etc/profile
 source ~/.bashrc

6. Optionally, create a unique prompt to be able to differentiate your chroot environment:

export PS1="(chroot) $PS1"

7. When finished with the chroot, you can exit it via:

exit

8. Unmount the temporary file systems:

 cd /
 umount --recursive /location/of/new/root

Reasons to use chroot

Changing root is commonly done for performing system maintenance on systems where booting and/or logging in is no longer possible.

Common examples are:

 reinstalling the bootloader
 rebuilding the initramfs image
 upgrading or downgrading packages
 resetting a forgotten password
 building software in a clean root environment
chroot Command Exampleschroot in linuxchroot in ubuntu
Comments (0)
Add Comment