Man Linux: Main Page and Category List

NAME

       schroot-setup - schroot chroot setup scripts

DESCRIPTION

       schroot   uses  scripts  to  set  up  and  then  clean  up  the  chroot
       environment.  The directory /etc/schroot/setup.d contains  scripts  run
       when  a chroot is created and destroyed.  Several environment variables
       are set while the scripts are being run, which allows  their  behaviour
       to  be  customised,  depending upon, for example, the type of chroot in
       use.

       The scripts are run in name order, like those run by init(8), by  using
       the same style of execution as run-parts(8).

       The setup scripts are all invoked with two options:

       1      The action to perform.

              When a session is first started, the chroot is set up by running
              the  scripts  in  /etc/schroot/setup.d  with  the  ‘setup-start’
              option.    When   the   session   is   ended,   the  scripts  in
              /etc/schroot/setup.d  are  run  in  reverse   order   with   the
              ‘setup-stop’ option.

       2      The chroot status.

              This  is  either  ‘ok’  if  there  are no problems, or ‘fail’ if
              something went wrong.  For example, particular  actions  may  be
              skipped on failure.

       Note  that  the  scripts should be idempotent.  They must be idempotent
       during the ‘setup-stop’ phase, because they may be run more than  once,
       for example on failure.

ENVIRONMENT

   General variables
       AUTH_USER
              The  username of the user the command in the chroot will run as.

       HOST

       HOST_OS

       HOST_VENDOR

       HOST_CPU
              The host system architecture schroot is running upon.  This  may
              be  used  to  introduce architecture-specific behaviour into the
              setup scripts where required.  HOST is the GNU triplet  for  the
              architecture,  while  HOST_OS,  HOST_VENDOR and HOST_CPU are the
              component parts of the triplet.

       LIBEXEC_DIR
              The directory under which helper programs are located.

       MOUNT_DIR
              The directory under which  non-filesystem  chroots  are  mounted
              (e.g. block devices and LVM snapshots).

       PID    The process ID of the schroot process.

       PLATFORM
              The operating system platform schroot is running upon.  This may
              be used to introduce platform-specific behaviour into the  setup
              scripts  where  required.   Note  that  the  HOST  variables are
              probably what are required.  In  the  context  of  schroot,  the
              platform  is  the  supported  configuration  and behaviour for a
              given architecture,  and  may  be  identical  between  different
              architectures.

       SESSION_ID
              The session identifier.

       VERBOSE
              Set  to  ‘quiet’  if  only  error  messages  should  be printed,
              ‘normal’ if other messages may be printed as well, and ‘verbose’
              if   all   messages   may   be   printed.    Previously   called
              AUTH_VERBOSITY.

       CHROOT_SESSION_CREATE
              Set to ‘true’ if a session will be created, otherwise ‘false’.

       CHROOT_SESSION_CLONE
              Set to ‘true’ if a session will be cloned, otherwise ‘false’.

       CHROOT_SESSION_PURGE
              Set to ‘true’ if a session will be purged, otherwise ‘false’.

       CHROOT_TYPE
              The type of the chroot.  This is useful for restricting a  setup
              task  to  particular types of chroot (e.g. only block devices or
              LVM snapshots).

       CHROOT_NAME
              The name of the chroot.  This is useful for restricting a  setup
              task to a particular chroot, or set of chroots.

       CHROOT_DESCRIPTION
              The description of the chroot.

       CHROOT_MOUNT_LOCATION
              The  location  to  mount the chroot.  It is used for mount point
              creation and mounting.

       CHROOT_LOCATION
              The location of the chroot inside the mount point.  This  is  to
              allow  multiple  chroots  on  a  single filesystem.  Set for all
              mountable chroot types.

       CHROOT_PATH
              The  absolute  path  to   the   chroot.    This   is   typically
              CHROOT_MOUNT_LOCATION and CHROOT_LOCATION concatenated together.
              This is the path which should be used to access the chroots.

   Plain and directory chroot variables
       These chroot types use only general variables.

   File variables
       CHROOT_FILE
              The file containing the chroot files.

       CHROOT_FILE_REPACK
              Set to ‘true’ to repack the  chroot  into  an  archive  file  on
              ending a session, otherwise ‘false’.

   Mountable chroot variables
       These variables are only set for directly mountable chroot types.

       CHROOT_MOUNT_DEVICE
              The device to mount containing the chroot.  mounting.

       CHROOT_MOUNT_OPTIONS
              Options to pass to mount(8).

       CHROOT_LOCATION
              The  location of the chroot inside the mount point.  This allows
              the existence of multiple chroots on a single filesystem.

   Filesystem union variables
       CHROOT_UNION_TYPE
              Union filesystem type.

       CHROOT_UNION_MOUNT_OPTIONS
              Union filesystem mount options.

       CHROOT_UNION_OVERLAY_DIRECTORY
              Union filesystem overlay directory (writable).

       CHROOT_UNION_UNDERLAY_DIRECTORY
              Union filesystem underlay directory (read-only).

   Block device variables
       CHROOT_DEVICE
              The device containing  the  chroot  root  filesystem.   This  is
              usually,  but not necessarily, the device which will be mounted.
              For example, an LVM snapshot this will be the  original  logical
              volume.

   LVM snapshot variables
       CHROOT_LVM_SNAPSHOT_NAME
              Snapshot name to pass to lvcreate(8).

       CHROOT_LVM_SNAPSHOT_DEVICE
              The name of the LVM snapshot device.

       CHROOT_LVM_SNAPSHOT_OPTIONS
              Options to pass to lvcreate(8).

FILES

   Setup script configuration
       The  directory  /etc/schroot/default contains the default settings used
       by setup scripts.

       config Main configuration file read by setup scripts.   The  format  of
              this file is described in schroot-script-config(5).  This is the
              default value for the script-config key.   Note  that  this  was
              formerly   named  /etc/schroot/script-defaults.   The  following
              files are referenced by default:

       copyfiles
              A list of files to copy into the chroot from  the  host  system.
              Note        that       this       was       formerly       named
              /etc/schroot/copyfiles-defaults.

       fstab  A file in  the  format  decribed  in  fstab(5),  used  to  mount
              filesystems  inside  the chroot.  The mount location is relative
              to the root of the chroot.  Note that this  was  formerly  named
              /etc/schroot/mount-defaults.

       nssdatabases
              System   databases   (as   described  in  /etc/nsswitch.conf  on
              GNU/Linux systems) to copy into the chroot from the host.   Note
              that this was formerly named /etc/schroot/nssdatabases-defaults.

   Setup scripts
       The directory /etc/schroot/setup.d contains the chroot setup scripts.

       00check
              Print debugging diagnostics and perform basic sanity checking.

       05file Unpack, clean up, and repack file-based chroots.

       05fsunion
              Create and remove union filesystems.

       05lvm  Create and remove LVM snapshots.

       10mount
              Mount and unmount filesystems.

       15killprocs
              Kill processes still running inside the  chroot  when  ending  a
              session,  which  would  prevent  unmounting  of  filesystems and
              cleanup of any other resources.

       20copyfiles
              Copy files from the host  system  into  the  chroot.   Configure
              networking by copying hosts and resolv.conf, for example.

       20nssdatabases
              Configure system databases by copying passwd, shadow, group etc.
              into the chroot.

       50chrootname
              Set the chroot name (/etc/debian_chroot) in  the  chroot.   This
              may be used by the shell prompt to display the current chroot.

AUTHORS

       Roger Leigh.

COPYRIGHT

       Copyright © 2005-2010  Roger Leigh <rleigh@debian.org>

       schroot  is  free  software:  you  can redistribute it and/or modify it
       under the terms of the GNU General Public License as published  by  the
       Free  Software Foundation, either version 3 of the License, or (at your
       option) any later version.

SEE ALSO

       schroot(1),   fstab(5),   schroot.conf(5),    schroot-script-config(5),
       run-parts(8).