Reference

chroot_package_run(1)

repeat a program within the package with the help of FCchrootFT

NAME

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

SYNOPSIS

FCchroot_package_run --package-path your-package-path [command]FT

DESCRIPTION

If FCchrootFT 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 FCchroot_package_runFT, 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)

-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 FCchroot_package_runFT:


        
    

    
        

% exit

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


        
    

    
        

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

Here is a short instruction about how to make use of FCparrot_runFT, FCparrot_package_createFT and FCchroot_package_runFT to generate one package for your experiment and repeat your experiment within your package.

Step 1: Run your program under FCparrot_runFT 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 FCparrot_runFT. 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 FCparrot_runFT:


        
    

    
        

% exit

Step 2: Using FCparrot_package_createFT 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 FCchroot_package_runFT:


        
    

    
        

% exit

COPYRIGHT

The Cooperative Computing Tools are Copyright (C) 2022 The University of Notre Dame. This software is distributed under the GNU General Public License. See the file COPYING for details.

SEE ALSO

•

Cooperative Computing Tools Documentation

•

Parrot User Manual

•

parrot_run(1) parrot_cp(1) parrot_getacl(1) parrot_setacl(1) parrot_mkalloc(1) parrot_lsalloc(1) parrot_locate(1) parrot_timeout(1) parrot_whoami(1) parrot_mount(1) parrot_md5(1) parrot_package_create(1) parrot_package_run(1) chroot_package_run(1)

History