Chroot/it

Chroot (Change root) è un'utilità dei sistemi Unix utilizzata per cambiare la root directory apparente, in modo da creare un nuovo ambiente logicamente separato dalla root del sistema principale. Questo nuovo ambiente è detto "gabbia chroot" (o "chroot jail"). Un utente che opera all'interno di una gabbia non può vedere o accedere a file al di fuori dell'ambiente in cui è stato rinchiuso.

Uno dei principali usi di chroot è quello di creare un sistema Linux separato sopra quello corrente a scopo di test o compatibilità software. Chroot è spesso visto come una leggera alternativa alla virtualizzazione, perchè è in grado di funzionare senza il sovraccarico di un hypervisor.

Setting up the environment
When creating a new chroot setup, the first thing needed is a directory for the chroot to reside in. For example, a chroot could be created in :

To mount an existing installation from a partition the following command can be ran. Be sure to replace the  string in the example below with the drive and partition of the existing installation:

If an installation has been previously created in a sub directory of the current root file system the above steps can be skipped.

Unpacking system files and the Portage tree (new installations)
When building a new install, the next step is to download the stage3 and Portage tarballs and set them up in the chroot location. For more information on this process please see Downloading the stage tarball and Unpacking the stage tarball in the Gentoo Handbook.

Configuration
Before entering the chroot a number of directories need to be mounted:

Some basic configuration files will need to be copied from the host, do not copy over when using an existing installation:

Once done enter the chroot environment by executing the following commands:

When creating a new installation Portage should be synced to make sure everything is up to date.

The system is now ready; feel free to install software, mess with settings, test experimental packages and configurations without having any effect on the main system. To leave the chroot simply type or press +. Doing so will return the console back to the normal environment. Do not forget to the directories that have been mounted.

Init scripts
If setting up chroots is a task that is needed to be performed often, it is possible to speed up the mounting of the directories by using an init script:

When using a different directory or partition, add the necessary mounting commands in the  function and change  to the appropriate name.