arch-chroot8
Enhanced chroot command
Usage
arch-chroot [options]
chroot-dir
[command]
[arguments ...]
Overview
arch-chroot wraps the chroot(1) command while ensuring that important functionality is available, e.g. mounting /dev/, /proc and other API filesystems, or exposing resolv.conf(5) to the chroot.
If command is unspecified, arch-chroot will launch /bin/bash.
Note
The target chroot-dir should be a mountpoint. This ensures that tools such as pacman(8) or findmnt(8) have an accurate hierarchy of the mounted filesystems within the chroot. If your chroot target is not a mountpoint, you can bind mount the directory on itself to make it a mountpoint, i.e.:
mount --bind /your/chroot /your/chroot
Options
-
-S -
Run in systemd mode. This will spawn a transient systemd service via systemd-run(1) and delegates namespace/chroot management to the service manager.
-
-N -
Run in unshare mode. This will use unshare(1) to create a new mount and user namespace, allowing regular users to create new system installations.
-
-u <user>[:group] -
Specify non-root user and optional group to use.
-
-r -
Do not change the resolv.conf within the chroot. This means that the resolver might not work in the chroot, which could be the required state.
-
-h -
Output syntax and command line options.
Releases
4 releases since Debian 11 (Bullseye); the text changed 2 times.
-N since Debian 12 (Bookworm);
-S since Arch Linux 2026-11-01;
-r since Arch Linux 2026-11-01.