Differences between revisions 1 and 29 (spanning 28 versions)
Revision 1 as of 2005-05-29 13:36:02
Size: 312
Editor: anonymous
Comment:
Revision 29 as of 2012-10-21 17:07:49
Size: 3378
Editor: Calinou
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## Auto-converted by kwiki2moinmoin v2005-10-07
All chroot does is -for all child processes- replace the root directory on a unix system with one of the operators' choosing.
#language en
~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: [[de/chroot|Deutsch]] - English - [[fr/Chroot|Français]] - [[it/chroot|Italiano]] - [[es/chroot|Español]] -~
----
'''chroot''' on Unix-like operating systems is an operation that changes the apparent root directory for the current running process and its children.''([[WikiPedia: en: chroot | Read more ...]])''
Line 4: Line 6:
See :  <<TableOfContents(3)>>
Line 6: Line 8:
 * http://en.wikipedia.org/wiki/Chroot
 * http://www.gnu.org/software/coreutils/manual/html_chapter/coreutils_22.html#["SEC145"]
== Basic Installation ==
Building a "chroot" is very easy in Debian.

You will need:
 * Install the required packages
{{{
 aptitude install binutils debootstrap
}}}

 * Choose a location
{{{
 mkdir-p /var/chroot/etch
}}}

 * Build the chroot
{{{
 debootstrap - arch i386 etch /var/chroot/etch
}}}

 * Recovery of an "image", decompression and installation of required packages

 * To enter:
{{{
  chroot /var/chroot/etch
}}}

== Configuration ==
In general, it is necessary to create/edit key configuration points

Configuring a chroot is relatively static and very specific, it may be possible to dispense with the command "top-level" and directly edit files.

 * Users defined in the chroot
{{{
  /etc/passwd
  /etc/groups
}}}

 * Settings network settings
{{{
  /etc/hosts
  /etc/resolv.conf
}}}

 * Mounts filesystems
{{{
  /etc/fstab
}}}

== Mounting pseudo filesystems ==

=== /proc ===
 * Check the chrooted system the presence of /proc if the chroot is not likely to be fully operational. A priori, since version debootstrap Debian/Etch integrates natively mount /proc and /sys
{{{
 proc on /proc type proc (rw)
 sysfs on /sys sysfs kind (rw)
}}}

=== /dev/pts ===

 * It is also advisable to do a "bind" /dev/pts. This prevents error messages like {{{Must be connected to a terminal}}} or {{{Can not access '/dev/pts/0': No such file or directory of this type}}} with using the control debpkg: screen.

In this case, the primary system, run the command:
{{{
 mount --bind /dev/pts /var/chroot/etch/dev/pts
}}}

=== Default Configurations ===

Generally the file {{{/etc/fstab}}} might look like this:

{{{
# cat /etc/fstab | grep chroot
/dev /var/chroot/etch/dev auto bind 0 0
/dev/pts /var/chroot/etch/dev/pts auto bind 0 0
/proc /var/chroot/etch/proc auto bind 0 0
}}}

Therefore mount on the primary system would be:
{{{
# mount | grep chroot
/dev on /var/chroot/etch/dev -type none (rw, bind)
/dev/pts on /var/chroot/etch/dev/pts kind none (rw, bind)
/proc on /var/chroot/etch/proc type none (rw, bind)
}}}

== Adding / removing packages ==

 * Eliminate unnecessary packages (all depends on the purpose of the chroot)
{{{
  apt-get install deborphan
}}}
{{{
  deborphan-a
}}}

 * And for example
{{{
  apt-get remove - purge telnet manpages pppconfig ipchains ...
}}}

'' Complementary'' list svgalibg1 whiptail

 * Add a little comfort
{{{
  sudo apt-get install emacs21 local mc
}}}

== Usage ==
Common examples of chroot usage:

 * Recompiling application in a context other than the machine that hosts the chroot ([[Backports | backport]], cross-compiling, ...)

 * Update service production by tilting the old service (host machine) to the new (installed in the chroot)

 * Securing a service "chrooted" from the host machine (and vice versa)

----
ToDo - Clean up from French translation.

 CategorySystemAdministration

Translation(s): Deutsch - English - Français - Italiano - Español


chroot on Unix-like operating systems is an operation that changes the apparent root directory for the current running process and its children.(Read more ...)

Basic Installation

Building a "chroot" is very easy in Debian.

You will need:

 aptitude install binutils debootstrap

 mkdir-p /var/chroot/etch

 debootstrap - arch i386 etch /var/chroot/etch

  chroot /var/chroot/etch

Configuration

In general, it is necessary to create/edit key configuration points

Configuring a chroot is relatively static and very specific, it may be possible to dispense with the command "top-level" and directly edit files.

  /etc/passwd
  /etc/groups

  /etc/hosts
  /etc/resolv.conf

  /etc/fstab

Mounting pseudo filesystems

/proc

 proc on /proc type proc (rw)
 sysfs on /sys sysfs kind (rw)

/dev/pts

In this case, the primary system, run the command:

 mount --bind /dev/pts /var/chroot/etch/dev/pts

Default Configurations

Generally the file /etc/fstab might look like this:

# cat /etc/fstab | grep chroot
/dev /var/chroot/etch/dev auto bind 0 0
/dev/pts /var/chroot/etch/dev/pts auto bind 0 0
/proc /var/chroot/etch/proc auto bind 0 0

Therefore mount on the primary system would be:

# mount | grep chroot
/dev on /var/chroot/etch/dev -type none (rw, bind)
/dev/pts on /var/chroot/etch/dev/pts kind none (rw, bind)
/proc on /var/chroot/etch/proc type none (rw, bind)

Adding / removing packages

  apt-get install deborphan

  deborphan-a

  apt-get remove - purge telnet manpages pppconfig ipchains ...

Complementary list svgalibg1 whiptail

  sudo apt-get install emacs21 local mc

Usage

Common examples of chroot usage:


ToDo - Clean up from French translation.