A command-line tool written in shell script to simplify the creation of LXC Linux containers.
holodev
is a command-line tool to simplify the creation of Linux Containers.
It is developed under the UNIX philosophy (Do One Thing and Do It Well) and the GNU principles (free as in freedom).
A tool to facilitate the creation of Linux Containers for local development environments, it supports only Linux Containers running Debian distribution.
The name holodev
is a reference to the Holodeck from Star Trek:
Supported GNU/Linux distributions:
Distro | holodev 0.9 | holodev 1.0 | holodev 1.1 |
---|---|---|---|
Debian Squeezy | not supported | not supported | not supported |
Debian Wheezy | not supported | not supported | not supported |
Debian Jessie | supported | supported | not supported |
Debian Stretch | not tested | not tested | supported |
Debian Buster | supported | supported | supported |
Ubuntu Precise | not supported | not supported | not supported |
Ubuntu Trusty | supported | supported | not supported |
Ubuntu Utopic | not tested | not tested | not tested |
Ubuntu Vivid | supported | not tested | |
Ubuntu Wily | supported | not tested | |
Ubuntu Xenial | supported | supported | |
Archlinux | supported | not tested | supported |
openSUSE 42.1 | not tested | supported | |
openSUSE 42.2 | not tested | supported | |
openSUSE 42.3 | not tested | not supported | not supported |
openSUSE Tumbleweed | supported | supported | |
Fedora 24 | supported | supported | |
Fedora 25 | supported | supported | |
Fedora 26 | not tested | supported | |
Fedora 27 | not tested | supported |
Unfortunately, support for "unprivileged containers" in Debian Jessie is not
mature enough, then holodev
needs sudo
to create and run "privileged
containers".
Add the following repository to the sources.list:
deb http://debian.joenio.me unstable/
Download the key from the Debian repo:
# wget -O - http://debian.joenio.me/signing.asc | apt-key add -
Install:
# apt-get update
# apt-get install holodev
For development releases, you'll need to add the devel:tools
equivalent to
your distro version:
# zypper ar http://download.opensuse.org/repositories/devel:/tools/openSUSE_Tumbleweed/devel:tools.repo
# zypper ar http://download.opensuse.org/repositories/devel:/tools/openSUSE_Leap_42.1/devel:tools.repo
# zypper ar http://download.opensuse.org/repositories/devel:/tools/openSUSE_13.2/devel:tools.repo
# zypper ar http://download.opensuse.org/repositories/devel:/tools/openSUSE_13.1/devel:tools.repo
Then update your repo list:
# zypper ref
And finally install holodev
:
# zypper in holodev
holodev
is part of the default repositories for current OpenSUSE distros
(Leap and Tumbleweed), so no additional repo is needed.
Make sure your repos are updated:
# zypper ref
And install holodev
:
# zypper in holodev
To install holodev
on Archlinux it is necessary to have access to the AUR
repository, and have any wrapper of pacman that watches AUR. If you are using
Archlinux, it is almost safe to assume that you already have AUR and yaourt
already configured to use. In any case, if you don't:
To watch AUR, edit the following file:
# vi /etc/pacman.conf
Then add:
[archlinuxfr]
SigLevel = Never
Server = http://repo.archlinux.fr/$arch
To install yaourt
follow this link instructions
Finally, install holodev:
yaourt -Syy
yaourt -S holodev
or:
yaourt -S holodev-git
if you want the bleeding edge version.
(pending)
(see manpage)
holodev
has a small test suite implemented based on shunit2
:
To run these tests you need to install vagrant
, virtualbox
and run the
command vagrant up
. In some cases you may need to install
Virtualbox-guest-utils
and perform the following:
dpkg-reconfigure virtualbox-dkms
Use the script development-setup.sh
(as root) to install development
dependencies on your system.
vagrant up
make test-vagrant
To avoid running tests when building package run:
DEB_BUILD_OPTIONS=nocheck gbp buildpackage
GNU GPLv2+