About

virtenv is a QT4 application that lets you configure light virtual machines
based on Linux Containers (LXC) functionality in Linux kernel.

A virtual machine created by virtenv uses a copy of your current
filesystem mounted copy-on-write. Any filesystem modifications in the
virtual machine are not carried over onto your main filesystem.

The virtual machine also starts its own X server with a minimal window manager (Openbox),
and it has full network access. root privileges are needed to start the environment.

virtenv is released under GPL v2 license and it was tested so far on Ubuntu
(12.04 and 13.04), openSUSE (12.3), and Debian "wheezy". It can run on any Linux workstation with
OverlayFS support in Linux kernel.

News

May 2014 - Version 0.9 released

LXC 1.0 porting

bugfixes

Jan 2014 - Version 0.8.8 released

bugfixes

August 2013 - Version 0.8.6 released

default gateway support for network bridge setups

application help

Debian "wheezy" support

bugfixes

May 2013 - Version 0.8.4 released

xauth support

replaced JWM with Openbox

openSUSE 12.3 support

Ubuntu 13.04 support

bugfixes

April 2013 - Version 0.8.2 released

D-Bus support

support for up to 4 bridge interfaces

bugfixes

March 2013 - Version 0.8 released

this is the first release for beta testing

Download

Installation

The filesystem is mounted using OverlayFS.
Currently, OverlayFS is not officially included in the Linux kernel. As a result, virtenv is supported on a small number of distributions.
The list so far includes Ubuntu and openSUSE. Debian "wheezy" is supported via an Ubuntu kernel.

How it works

Start virtenv from a terminal.

$ virtenv

Create a new virtual environment or pick up an exiting one.

Configure the environment.

Save and start the virtual machine. As a result, a new terminal is created. This is the virtenv-console. Enter the
sudo password to start the environment. If the environment was configured for X11 support, a new xserver is started
(Xephyr) running a lean windows manager
(Openbox). Use this window as your virtual desktop.

To stop the environment just type exit in virtenv-console or close the window.

Usage scenarios

Application sandboxing: the fundamental idea behind sandboxing is to reduce
risk by limiting the environment in which certain code executes. The current
virtenv solution is based on Linux Containers feature of Linux kernel and
allows the separation of the process space, filesystem and networking stack.

Application development and testing: virtenv allows the isolation of untested
code changes and outright experimentation from the production environment.

Virtualization: virtenv creates very lean virtual machines. Only the necessary
processes are started in such virtual machines. For example, in order to run
a webserver virtual machine, you only need to start the webserver process and
a syslog process.