.TH "chroot_package_run" 1 "" "CCTools 8.0.0 DEVELOPMENT" "Cooperative Computing Tools" .SH NAME .LP \fBchroot_package_run\fP - repeat a program within the package with the help of \FCchroot\FT .SH SYNOPSIS .LP \FC\fBchroot_package_run --package-path your-package-path [command]\fP\FT .SH DESCRIPTION .LP If \FCchroot\FT is used to help repeat one experiment, common directories like \fB/proc\fP, \fB/dev\fP, \fB/net\fP, \fB/sys\fP, \fB/var\fP, \fB/misc\fP and \fB/selinux\fP will be remounted into the package if they exists on your local filesystem. After you finish all your test within \FCchroot_package_run\FT, these remounted directories will be unmounted. If no command is given, a /bin/sh shell will be returned. .SH OPTIONS .LP .LP .TP .B \ -p, --package-path . The path of the package. .TP .B \ -e, --env-list . The path of the environment file, each line is in the format of =. (Default: package-path/env_list) .TP .B \ -h, --help . Show this help message. .SH EXIT STATUS .LP On success, returns zero. On failure, returns non-zero. .SH EXAMPLES .LP To repeat one program within one package \fB/tmp/package\fP in a \fBbash\fP shell: .fam C .nf .nh .IP "" 8 % chroot_package_run --package-path /tmp/package /bin/bash .fi .hy .fam .P After the execution of this command, one shell will be returned, where you can repeat your original program. After everything is done, exit \FCchroot_package_run\FT: .fam C .nf .nh .IP "" 8 % exit .fi .hy .fam .P You can also directly set your command as the arguments of \FCchroot_package_run\FT. In this case, \FCchroot_package_run\FT will exit automatically after the command is finished, and you do not need to use \FCexit\FT to exit. However, your command must belong to the original command set executed inside \FCparrot_run\FT and preserved by \FCparrot_package_create\FT. .fam C .nf .nh .IP "" 8 % chroot_package_run --package-path /tmp/package ls -al .fi .hy .fam .P Here is a short instruction about how to make use of \FCparrot_run\FT, \FCparrot_package_create\FT and \FCchroot_package_run\FT to generate one package for your experiment and repeat your experiment within your package. .PP Step 1: Run your program under \FCparrot_run\FT and using \fB--name-list\fP and \fB--env-list\fP parameters to record the filename list and environment variables. .fam C .nf .nh .IP "" 8 % parrot_run --name-list namelist --env-list envlist /bin/bash .fi .hy .fam .P After the execution of this command, you can run your program inside \FCparrot_run\FT. At the end of step 1, one file named \fBnamelist\fP containing all the accessed file names and one file named \fBenvlist\fP containing environment variables will be generated. After everything is done, exit \FCparrot_run\FT: .fam C .nf .nh .IP "" 8 % exit .fi .hy .fam .P .PP Step 2: Using \FCparrot_package_create\FT to generate a package. .fam C .nf .nh .IP "" 8 % parrot_package_create --name-list namelist --env-path envlist --package-path /tmp/package .fi .hy .fam .P At the end of step 2, one package with the path of \fB/tmp/package\fP will be generated. .PP Step 3: Repeat your program within your package. .fam C .nf .nh .IP "" 8 % chroot_package_run --package-path /tmp/package /bin/bash .fi .hy .fam .P After the execution of this command, one shell will be returned, where you can repeat your original program. After everything is done, exit \FCchroot_package_run\FT: .fam C .nf .nh .IP "" 8 % exit .fi .hy .fam .P .SH COPYRIGHT .LP The Cooperative Computing Tools are Copyright (C) 2005-2019 The University of Notre Dame. This software is distributed under the GNU General Public License. See the file COPYING for details. .SH SEE ALSO .LP .IP \(bu 4 \fBCooperative Computing Tools Documentation\fP .IP \(bu 4 \fBParrot User Manual\fP .IP \(bu 4 \fBparrot_run(1)\fP \fBparrot_cp(1)\fP \fBparrot_getacl(1)\fP \fBparrot_setacl(1)\fP \fBparrot_mkalloc(1)\fP \fBparrot_lsalloc(1)\fP \fBparrot_locate(1)\fP \fBparrot_timeout(1)\fP \fBparrot_whoami(1)\fP \fBparrot_mount(1)\fP \fBparrot_md5(1)\fP \fBparrot_package_create(1)\fP \fBparrot_package_run(1)\fP \fBchroot_package_run(1)\fP