Home - parke/vland GitHub Wiki
vland - a virtual userland manager
About vland
vland is a virtual userland manager for x86_64 Linux, written in Bash shell.
vland allows non-root users, on x86_64 Linux systems, to install "virtual userlands" and then run programs (or build packages) inside those userlands. More specifically:
vlandautomates the process of downloading, installing, and performing the essential configuration of a virtual guest userland.- After installing a virtual guest userland,
vlandcan also execute programs, including interactive shells and package managers, inside the guest.
Quickstart tutorial
$ wget https://github.com/parke/vland/raw/main/vland
$ /bin/sh vland --create arch arch-guest
$ /bin/sh vland --pkg arch-guest install chromium
$ /bin/sh vland arch-guest -nx -- chromium
The above commands create an Arch Linux guest named arch-guest, and then install and run the Chromium web browser. (The guest will be created inside $HOME/.local/vland.)
vland can also build packages. For example, the below commands will build and install Arch Linux's lua package:
$ /bin/sh vland --pkg arch-guest build-install lua
$ /bin/sh vland arch-guest -- lua -v
vland is a Bash shell script. The actual virtual environment is created by lxroot. lxroot is a small C++ program.
Both run without root access. vland is, more or less, an opinionated, high-level convenience wrapper around lxroot, with some added bells and whistles.
Learn more by reading the vland tutorial and the lxroot tutorial.
Videos
Supported guest Linux distributions
The below table summarizes the Linux distributions that I have used as guests with vland and lxroot.
| Guest distro | Can install as guest? | Can install packages? | Can build packages? |
|---|---|---|---|
| Arch | yes | yes | yes |
| Ubuntu | yes (but see note) | yes | work in progress |
Note: At present, in order to install an Ubuntu guest, the host must have the apt-get program installed. On an Arch host, it may be possible to install apt-get from the apt package in the AUR. (I have not tested this.)
Other Linux distributions
In the past, vland also supported Alpine and Void guests. However, support for Alpine and Void has been retired so I can focus on support for Ubuntu and Arch.
Other Linux distributions may also work inside lxroot. (Some level of custom shimming may be required.)
Due to lxroot's safety, simplicity, efficiency, and ability to run without root access, lxroot has a few limitations. These limitations may or may not affect your particular use case.