Installation requirements

The BANDIT toolkit is distributed as source code in a .tar.gz tarball. In order to download the package, the wget or the curl commands can be used or any capable web browser. To uncompress the downloaded tarball a command like tar will work. If you choose to install the git development branch, the git command is required.

To install the BANDIT in the /opt directory, a privileged user is needed.


You could install and run BANDIT completely as a regular, non-privileged user in, for example, your ~/opt directory, as long as all the BANDIT local directories are accessible for this user and no files are installed in system directories. See the The bandit.conf file.

Runtime requirements

The BANDIT toolkit is a set of Bash shell scripts. Therefore the only software requirement for runtime is having GNU Bash installed. However, the internal scripts that implement some of the BANDIT actions make use of other GNU/Linux commands, like mkfs, lsblk, file, etc. Most modern GNU/Linux distributions provide these commands by default.


In a phySystem, the BANDIT relies on the porg utility to log all the files installed in the system. It is one of the first packages raised in the phyglos-core bundle. However this package is rarely present in other distributions and may lead to the inability for the BANDIT to remove installed bundles.

Supported GNU/Linux distributions

The internal scripts that implement BANDIT are designed for GNU/Linux distributions. UNIX-like variants like BSD, MacOS, etc are not yet supported.

The GNU/Linux distributions where BANDIT is tested are: phyglos, Debian and Fedora. Related distributions like Ubuntu and CentOS should work with minimum changes, if any. A system built following the Linux from Scratch book should have all the necessary ingredients ready to use the BANDIT.

GNU Bash shell

The BANDIT is a Bash application. Systems running other command shells like dash or zsh should install bash to use the BANDIT. In these systems, before using BANDIT, issue the bash command to enter this shell and check the running version:

(shell)$ bash
(bash)$ bash --version
bash --version
GNU bash, version 4.3.42(1)-release (x86_64-unknown-linux-gnu)

The supported version of bash for BANDIT v1.x is GNU/Bash 3.x or later.


BANDIT is expected to require GNU Bash 4.x or later in coming releases.

Root user

The BANDIT requires root privileges to install software in the system or to run privileged commands in order to format disk partitions, change permissions or create new users, when needed. For some BANDIT operations the sudo command should work to get enough privileges.

However, when performing complex processes, like installing a whole new distribution, logging in as the root user is required. Some distributions come with the root user locked. You will need to be able to sudo to change root’s password.


Most of the actions performed by the BANDIT can modify the system in irreversible ways. Always be aware of which user is in use before issuing a BANDIT command.

Unlock the root user

To unlock the root user just give it a new password:

$ sudo passwd root
New Linux password:

Work as root user

To change the user to the root user, use the su command and enter the password:

$ su -

The prompt changes to # to indicate that the user has changed to root.


After changing to the root user with the command su, you may have to activate the intended copy of BANDIT if you intend to use a different copy of the default one.

Change back to a regular user

To change back to the unprivileged user issue the logout command:

# logout

The prompt reverts back to $ to indicate that the user is unprivileged.