dchroot(1)

NAME

   dchroot - enter a chroot environment

SYNOPSIS

   dchroot  [-h|--help | -V|--version  | -l|--list | -i|--info  | --config
   |   --location]   [--directory=directory]   [-d|--preserve-environment]
   [-q|--quiet  |  -v|--verbose]  [-c  chroot|--chroot=chroot    |  --all]
   [COMMAND [ ARG1 [ ARG2 [ ARGn]]]]

DESCRIPTION

   dchroot allows the user to run a command or a login shell in  a  chroot
   environment.  If no command is specified, a login shell will be started
   in the user's home directory inside the chroot.

   The command is one or more arguments which will be run  in  the  user's
   default  shell  using  its  -c  option.  As a result, shell code may be
   embedded in this argument.  If multiple command options are used,  they
   are  concatenated together, separated by spaces.  Users should be aware
   of the shell quoting issues this presents, and should  use  schroot  if
   necessary, which does not have any quoting issues.

   The  directory  the  command  or login shell is run in depends upon the
   context.  See --directory option below for a complete description.

   This  version  of  dchroot  is  a  compatibility  wrapper  around   the
   schroot(1) program.  It is provided for backward compatibility with the
   dchroot command-line options, but schroot  is  recommended  for  future
   use.    See   the   section   "Incompatibilities"   below   for   known
   incompatibilities with older versions of dchroot.

   If no chroot is specified, the chroot name or alias 'default'  will  be
   used as a fallback.

OPTIONS

   dchroot accepts the following options:

   Basic options
   -h, --help
          Show help summary.

   -a, --all
          Select all chroots.

   -c, --chroot=chroot
          Specify a chroot to use.  This option may be used multiple times
          to specify more than one chroot, in which  case  its  effect  is
          similar to --all.

   -l, --list
          List all available chroots.

   -i, --info
          Print  detailed  information  about the specified chroots.  Note
          that earlier versions of dchroot did not include this option.

   -p, --path
          Print location (path) of the specified chroots.

   --config
          Print configuration of the specified chroots.   This  is  useful
          for  testing  that  the  configuration in use is the same as the
          configuration file.  Any comments in the original file  will  be
          missing.   Note that earlier versions of dchroot did not include
          this option.

   --directory=directory
          Change to directory inside the chroot before running the command
          or  login  shell.   If  directory is not available, dchroot will
          exit with an error status.

          The default behaviour is as follows  (all  directory  paths  are
          inside the chroot).  Unless the --preserve-environment option is
          used to preserve the environment, the  login  shell  or  command
          will  run  in  the  user's  home  directory,  or  /  if the home
          directory is not  available.   When  the  --preserve-environment
          option  is  used,  it  will  attempt  to use the current working
          directory, again falling back to / if it is not accessible.   If
          none of the directories are available, dchroot will exit with an
          error status.

   -d, --preserve-environment
          Preserve the user's environment inside the  chroot  environment.
          The  default  is  to use a clean environment; this option copies
          the entire user environment and sets it in the session.

   -q, --quiet
          Print only essential messages.

   -v, --verbose
          Print all messages.  Note that earlier versions of  dchroot  did
          not include this option.

   -V, --version
          Print version information.

   Note that earlier versions of dchroot did not provide long options.

INCOMPATIBILITIES

   Debian dchroot prior to version 0.99.0
   *      Log messages are worded and formatted differently.

   *      su(1)  is  no longer used to run commands in the chroot; this is
          done by  dchroot  internally.   This  change  may  cause  subtle
          differences.   If  you find an incompatibility, please report it
          so it may be corrected.

   *      dchroot  provides  a  restricted  subset  of  the  functionality
          implemented  by  schroot, but is still schroot underneath.  Thus
          dchroot is still subject to schroot security checking, including
          PAM  authentication  and  authorisation, and session management,
          for example, and hence may behave slightly differently to  older
          dchroot versions in some circumstances.

   Debian dchroot prior to version 1.5.1
   *      This   version   of  dchroot  uses  schroot.conf  to  store  the
          configuration   for   available   chroots,   rather   than   the
          dchroot.conf   file   used   historically.    dchroot  supported
          automatic migration of dchroot.conf to the schroot.conf  keyfile
          format  with  its  --config option from versions 0.2.2 to 1.5.0;
          support for the old format is now no longer available.

   DSA dchroot
   Machines run by the Debian System Administrators for the Debian Project
   have   a  dchroot-dsa  package  which  provides  an  alternate  dchroot
   implementation.

   *      All the above incompatibilities apply.

   *      This version of dchroot has incompatible  command-line  options,
          and while some of those options are supported or have equivalent
          options by a different name, the -c option is  not  required  to
          specify  a  chroot, and this version of dchroot cannot implement
          this behaviour in a backward-compatible manner (because if -c is
          omitted,  the  default  chroot  is  used).  DSA dchroot uses the
          first non-option as the chroot to use, only allowing one  chroot
          to be used at once.

DIRECTORY FALLBACKS

   dchroot  will  select an appropriate directory to use within the chroot
   based upon whether the --directory  or  --preserve-environment  options
   are  used.   When explicitly specifying a directory, only one directory
   will be used for safety and consistency, while for  a  login  shell  or
   command  several possibilities may be tried.  Note that due to multiple
   fallbacks being  considered  for  commands,  it  is  dangerous  to  run
   commands using dchroot; use schroot instead.  The following subsections
   list the fallback sequence for each case.  CWD is the  current  working
   directory, DIR is the directory specified with --directory.

   Login shell or command
   
   Transition                                                    
   (Host  Chroot)      Comment                                  
   
   CWD  passwd pw_dir  Normal  behaviour  (if  --directory  and 
                        --preserve-environment are not used)     
   CWD  /              If passwd pw_dir is nonexistent          
   FAIL                 If / is nonexistent                      
   
   --preserve-environment used
   
   Transition                                                
   (Host  Chroot)  Comment                                  
   
   CWD  CWD        Normal           behaviour           (if 
                    --preserve-environment used)             
   CWD  /          If CWD is nonexistent                    
   FAIL             If / is nonexistent                      
   
   --directory used
   
   Transition                                                
   (Host  Chroot)  Comment                                  
   
   CWD  DIR        Normal behaviour                         
   FAIL             If DIR is nonexistent                    
   
   No fallbacks should exist under any circumstances.

   Debugging
   Note  that --debug=notice will show the internal fallback list computed
   for the session.

EXAMPLES

   $ dchroot -l
   Available chroots: sarge [default], sid

   $ dchroot -p sid
   /srv/chroot/sid

   $ dchroot -q -c sid -- uname -smr
   Linux 2.6.16.17 ppc
   $ dchroot -q -c sid -- "uname -smr"
   Linux 2.6.16.17 ppc

   $ dchroot -q -c sid "ls -1 / | tac | head -n 4"
   var
   usr
   tmp
   sys

   $ dchroot -c sid
   I: [sid chroot] Running login shell: "/bin/bash"
   $

   Use -- to allow options beginning with '-' or '--' in  the  command  to
   run in the chroot.  This prevents them being interpreted as options for
   dchroot itself.  Note that the top line was echoed to  standard  error,
   and  the  remaining  lines to standard output.  This is intentional, so
   that program output from commands run in the chroot may  be  piped  and
   redirected as required; the data will be the same as if the command was
   run directly on the host system.

TROUBLESHOOTING

   If something is not working, and it's not clear from the error messages
   what  is wrong, try using the --debug=level option to turn on debugging
   messages.  This gives a  great  deal  more  information.   Valid  debug
   levels  are  'none',  and 'notice', 'info', 'warning' and 'critical' in
   order of increasing severity.  The lower the severity level,  the  more
   output.

   If you are still having trouble, the developers may be contacted on the
   mailing list:
   Debian buildd-tools Developers
   <[email protected]>

BUGS

   On the mips and mipsel architectures, Linux kernels up to and including
   at  least  version  2.6.17  have  broken  personality(2) support, which
   results in a failure to set the personality.  This will be seen  as  an
   "Operation  not permitted" (EPERM) error.  To work around this problem,
   set personality to 'undefined', or upgrade to a more recent kernel.

FILES

   /etc/schroot/schroot.conf
          The system-wide schroot definition  file.   This  file  must  be
          owned by the root user, and not be writable by other.

AUTHORS

   Roger Leigh.

   This  implementation  of  dchroot uses the same command-line options as
   the original dchroot by David Kimdon <[email protected]>,  but  is  an
   independent implementation.

COPYRIGHT

   Copyright  2005-2012  Roger Leigh <[email protected]>

   dchroot  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), sbuild(1), chroot(2), schroot-setup(5), schroot.conf(5).



Opportunity


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.


Free Software


Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.

Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.


Free Books


The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.

Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.


Education


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.

Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.