-
Notifications
You must be signed in to change notification settings - Fork 1
Home
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:
-
vland
automates the process of downloading, installing, and performing the essential configuration of a virtual guest userland. - After installing a virtual guest userland,
vland
can also execute programs, including interactive shells and package managers, inside the guest.
$ 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.
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.)
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.