Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
- Bash shell and a unix system environment. Rerun has been tested on Centos, Ubuntu, Mac OSX, and Solaris so far (it's even rumored to run on AIX given GNU tools).
- The documentation tool, stubbs:docs, uses two external tools to generate an HTML manual. These need to be in the $PATH:
Using YUM and RPM (Centos/Redhat)
- Install rerun itself by obtaining the latest "rerun" RPM package link from https://bintray.com/rerun/rerun-rpm/rerun/. You can set up your node to use yum or execute the rpm command:
$ rpm -Uvh https://dl.bintray.com/rerun/rerun-rpm/rerun-1.3.4-1.el6.noarch.rpm
From source (any other OS)
Simply "git clone" it.
$ cd $HOME $ git clone git://github.com/rerun/rerun.git $ cd rerun
After it is downloaded, invoke the
rerun -help to see usage and version:
$ ./rerun -help _ __ ___ _ __ _ _ _ __ | '__/ _ \ '__| | | | '_ \ | | | __/ | | |_| | | | | |_| \___|_| \__,_|_| |_| Version: 1.0.2 License: Apache 2.0. usage: rerun [-h][-v][-V] [-M <dir>] [--answer <file>] [module:[command [options]]]
Add rerun to your
Run it without arguments to see a list of installed modules.
$ rerun Available modules in "/Users/alexh/rerun/modules": stubbs: "Simple rerun module builder"
Successful installation results in a module listing (stubbs module is included by default).
Rerun's listing feature is available through Bash command completion.
To enable it, update your
.bash_profile with a line like so:
$ [ -r $HOME/rerun/etc/bash_completion.sh ] && source $HOME/rerun/etc/bash_completion.sh
Update your Bash profile (e.g., .bash_profile, .bashrc) to set the following environment variables.
Add the path to your
rerun executable to your $PATH.
Rerun checks for an environment variable called
that specifies a directory of rerun modules.
$RERUN_MODULES is not set, rerun checks the current working directory for a
subdirectory called "modules".
Set 'true' if you want ANSI text effects
Single user setup
A single user setup makes sense when rerun commands are all executed by that user. This might be a human's unix account or it could be a "role" account used for administration tasks (eg. deployment procedures).
Example: Single user rerun setup.
$ export PATH=$PATH:$HOME/rerun $ export RERUN_MODULES=$HOME/rerun/modules $ [ -t 0 ] && export RERUN_COLOR=true
System wide setup
System wide setup can make sense if rerun is used to manage any system task.
Example: System wide rerun setup.
# Copy rerun to /usr/bin/rerun $ export RERUN_MODULES=/var/rerun/modules $ export RERUN_COLOR=false
Rerun doesn't have its own built in access control mechanism. Users can see any module if that module's directory has executable permission. Using unix file ownership and permissions can provide a modicum of control. For example, modules might have different owner:group ownership with appropriate owner/group read and execute permissions.
If fine grained security is important, consider wrapping rerun with a tool that provides it or just use a better tool!
If you have ideas on how to enhance authorization inside rerun, we'd love to hear about it though !
See README.md for general usage information.
The stubbs module is included and you'll find it useful to create your own modules.
Visit the https://github.com/rerun-modules site to find contributed rerun modules.