chroot

system managementLinux/Unix
The chroot command is one of the most frequently used commands in Linux/Unix-like operating systems. chroot Run command or interactive shell with special root directory

Quick Reference

Command Name:

chroot

Category:

system management

Platform:

Linux/Unix

Basic Usage:

chroot [options] [arguments]

Common Use Cases

    Syntax

    chroot [OPTION] NEWROOT [COMMAND [ARG]...]

    Options

    Option Description
    --groups=G_LIST Specify supplementary groups as g1,g2,...,gN
    --userspec=USER:GROUP Specify user and group (ID or name) to use
    --skip-chdir Don't change working directory to '/'
    --help Display help message and exit
    --version Display version information and exit

    Examples

    How to Use These Examples

    The examples below show common ways to use the chroot command. Try them in your terminal to see the results. You can copy any example by clicking on the code block.

    #

    Basic Examples:

    # Change root into a directory and run a shell
    sudo chroot /mnt/system /bin/bash
    # Run a specific command in the chroot environment sudo chroot /mnt/system ls -la /
    # Run a specific program with parameters sudo chroot /mnt/system /usr/bin/dpkg -l
    # Use with userspec to specify user and group sudo chroot --userspec=john:users /mnt/system /bin/bash

    Advanced Examples:

    # Mount necessary filesystem before chrooting
    sudo mount --bind /dev /mnt/system/dev
    sudo mount --bind /proc /mnt/system/proc
    sudo mount --bind /sys /mnt/system/sys
    sudo chroot /mnt/system /bin/bash
    # Repair a system that won't boot sudo mount /dev/sda1 /mnt/system sudo chroot /mnt/system /bin/bash grub-install /dev/sda update-grub exit
    # Run a specific script inside chroot environment sudo chroot /mnt/system /bin/bash -c "cd /root && ./setup.sh"

    Try It Yourself

    Practice makes perfect! The best way to learn is by trying these examples on your own system with real files.

    Understanding Syntax

    Pay attention to the syntax coloring: commands, options, and file paths are highlighted differently.

    Notes

    The chroot command changes the apparent root directory for the current running process and its children. It's commonly used for system maintenance, recovery, or creating isolated environments.

    Important considerations:

    • Root privileges are typically required to use chroot.
    • The target directory must contain all necessary files, libraries, and binaries for the command to run.
    • For a fully functional chroot environment, you often need to mount special filesystems like /proc, /sys, and /dev into the chroot.
    • Chroot provides only partial isolation, not full security containment (unlike containers or virtual machines).
    • Common uses include repairing boot problems, testing installations, building packages in clean environments, and running legacy applications.

    When using chroot for system repair, you'll typically need to mount the root partition of the target system, along with any other partitions (/boot, /home, etc.), before performing the chroot.

    While chroot offers some isolation, it is not a complete security mechanism. Processes with root privileges can potentially "break out" of a chroot environment.

    Related Commands

    These commands are frequently used alongside chroot or serve similar purposes:

    Use Cases

    Learn By Doing

    The best way to learn Linux commands is by practicing. Try out these examples in your terminal to build muscle memory and understand how the chroot command works in different scenarios.

    $ chroot
    View All Commands