Scroll to navigation

chroot_package_run(1) Cooperative Computing Tools chroot_package_run(1)

NAME

chroot_package_run - repeat a program within the package with the help of chroot

SYNOPSIS

chroot_package_run --package-path your-package-path [command]

DESCRIPTION

If chroot is used to help repeat one experiment, common directories like /proc, /dev, /net, /sys, /var, /misc and /selinux will be remounted into the package if they exists on your local filesystem. After you finish all your test within chroot_package_run, these remounted directories will be unmounted. If no command is given, a /bin/sh shell will be returned.

OPTIONS

 -p, --package-path
The path of the package.
 -e, --env-list
The path of the environment file, each line is in the format of <key>=<value>. (Default: package-path/env_list)
 -h, --help
Show this help message.

EXIT STATUS

On success, returns zero. On failure, returns non-zero.

EXAMPLES

To repeat one program within one package /tmp/package in a bash shell:
% chroot_package_run --package-path /tmp/package /bin/bash
    

After the execution of this command, one shell will be returned, where you can repeat your original program. After everything is done, exit chroot_package_run:

% exit
    

You can also directly set your command as the arguments of chroot_package_run. In this case, chroot_package_run will exit automatically after the command is finished, and you do not need to use exit to exit. However, your command must belong to the original command set executed inside parrot_run and preserved by parrot_package_create.

% chroot_package_run --package-path /tmp/package ls -al
    

Here is a short instruction about how to make use of parrot_run, parrot_package_create and chroot_package_run to generate one package for your experiment and repeat your experiment within your package.

Step 1: Run your program under parrot_run and using --name-list and --env-list parameters to record the filename list and environment variables.

% parrot_run --name-list namelist --env-list envlist /bin/bash
    

After the execution of this command, you can run your program inside parrot_run. At the end of step 1, one file named namelist containing all the accessed file names and one file named envlist containing environment variables will be generated. After everything is done, exit parrot_run:

% exit
    

Step 2: Using parrot_package_create to generate a package.

% parrot_package_create --name-list namelist --env-path envlist --package-path /tmp/package
    

At the end of step 2, one package with the path of /tmp/package will be generated.

Step 3: Repeat your program within your package.

% chroot_package_run --package-path /tmp/package /bin/bash
    

After the execution of this command, one shell will be returned, where you can repeat your original program. After everything is done, exit chroot_package_run:

% exit
    

COPYRIGHT

The Cooperative Computing Tools are Copyright (C) 2003-2004 Douglas Thain and Copyright (C) 2005-2015 The University of Notre Dame. This software is distributed under the GNU General Public License. See the file COPYING for details.

SEE ALSO

CCTools 7.0.9 FINAL