Skip to content
Permalink
52b24e5857
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
96 lines (51 sloc) 2.44 KB
% PRUN(1) Version n/a | Mariux Tools Documentation
NAME
====
**prun** - Run Mariux packages (reads 'Package RUN').
SYNOPSIS
========
| **prun package command** [COMMANDOPTION]...
DESCRIPTION
===========
Runs applications, scripting languages, compilers, etc., from a dedicated directory.
The main usage is to run software in a specific version, or to provide a given environment. See **EXAMPLES** below.
There are some advantages over so called 'virtual environments' and the like. Packages are immutable, once installed they never change, thereby increasing the chances that an old program/script will also run in a few years. The packages also use a standardized call procedure, independent of personal (un-)settings, thus an existing pipeline may be shared between different users.
The whole 'magic' behind **prun** is, that it transparently sets the PATH variable and possibly LD_LIBRARY_PATH for the actual call without spoiling the default environment.
EXAMPLES
========
**Run R-Studio with a brand new R version**
: prun R-4.1.0-0 rstudio
**Use an ancient python to run an unmaintained script**
: prun python-2.7.13-2 /project/cruft/bin/old_script.py
**Run nvidia nvcc from cuda-11.3 and list supported architectures**
: prun cuda-11.3 nvcc --list-gpu-code
**Start a plain shell with gcc-10.2 in the PATH**
: prun gcc-10.2.0-0 bash --norc
**Or just show the manual page for gcc-10.2**
: prun gcc-10.2.0-0 man gcc
**Create an own alias for a scripting language**
: alias myperl='prun perl-5.18.2-0 perl'
**Use prun in a script shebang**
: `#! /usr/bin/prun perl-5.18.2-0 perl`
**Alternatively using source**
: An alternative way to set a distinct environment is to source the profile from /pkg/FooBar-12.3.
But beware, such a source command should **never** make it into the **\~/.bashrc** - in the worst case it may inhibit your login!
(N.b. the alias method mentioned above is safe)
\
: source /pkg/gcc-10.2.0-0/profile
FILES
=====
*/package/FOO* or */pkg/BAR*
: Mountpoint (top directory) for selected package.
*/package/FOO/profile* or */pkg/BAR/profile*
: Contains settings for PATH, libraries, and possibly other stuff.
*/usr/local/package/lib/\**
: Primary wrappers for individual packages.
*/usr/local/package/admin/config*
: Definition of binaries provided and optional shortcuts.
BUGS
====
See GitHub Issues: <https://github.molgen.mpg.de/mariux64/mxtools>
SEE ALSO
========
**ptype(1)**, **pman(1)**, **bash(1)**, **ld.so(8)**