Skip to content

man_page

parke edited this page Jan 19, 2022 · 5 revisions

The output of vland --help-more is:

usage:  vland  overlay      [option...]  [--  command  [arg...]]
        vland  --operation  [option...]
        vland  --help-more

An example:
$  vland  --create  arch    #  Create an Arch Linux guest named 'arch'.
$  vland  arch  -nr         #  Enter the 'arch' guest as root.

vland version 0.22.1
Copyright (C) 2020-2021 by Parke Bostrom
Website:  https://github.com/parke/vland

To create a guest and an overlay:
$  vland  --create  distro  [guest  [overlay]]
If not specified, guest   defaults to distro.
If not specified, overlay defaults to guest.

To run a shell (or a command) in an overlay:
$  vland  overlay  [option...]  [--  command  [arg...]]
Any specified options (and command) are simply passed through to lxroot.
If no command is specified, vland will run an interactive shell in the guest.
You specify only an overlay.  By default, the matching guest will be used.

Explanation of 'guest' and 'overlay':
You may think of the 'guest' as being the 'root partition'.
Whereas the 'overlay' is the '/home directory'.
The above explanation is a slight oversimplification, as ...
... an overlay typically also includes /root and /tmp.
This separation will allow running mulitple overlays on the same guest.
By default, the guest is read-only, whereas the overlay is writable.
The separation will also allow running the same overlay on multiple guests.
Some overlay/guest functionality is not yet implemented ...
... nonetheless, vland *always* uses an overlay together with a guest.
By default, the overlay and the guest have the same name.
For many common use cases, it may be simplest ...
... to think of them as being a bonded pair that are always used together.

To install packages (in a guest):
$  vland  --pkg  overlay  install  package...
Where 'overlay' is the name of the overlay/guest you wish to use.
The packages will typically be installed in the guest, not in the overlay.

To build packages (in an overlay):
$  vland  --pkg  overlay  build  package...
The packages will be built in $HOME, which is typically part of the overlay.

To build and install packages (in an overlay and a guest, respectively):
$  vland  --pkg  overlay  build-install  package...
The packages will be built in $HOME, which is typically part of the overlay.
The packages will typically be installed in the guest, not in the overlay.

On 'void' guests '--pkg' is only partly implemented at present.

Common lxroot options:
-n    grant the guest access to the host's network interfaces
-r    simulate uid = 0 (root)
-w    grant full write access (even to a non-root user)
-x    grant the guest access to the host's Xorg server
For additional lxroot options, please see the lxroot documentation.

Supported distros:
alpine     Alpine Linux
arch       Arch Linux
void       Void Linux
void-musl  Void Linux (with musl libc)

Fyi, the default location for guests and overlays is either:
$HOME/.local/vland  or  /vland/$USER

Operations:

--version
--help
--help-more

--create      distro  [guest  [overlay]]
--download    distro

--pkg         overlay  action  [package...]
--aur         overlay  action  [package...]

--self-test
--self-test-full
--self-test-clean

Package actions (for use with --pkg and --aur):

update           update/sync the guest's package database
install          download and install packages
deps             download and install build dependencies
build            build packages
build-install    build and install packages
build-clean      remove non-essential build time files

Anticipated future operations that are not yet implemented:

--guest  guest  overlay  [option...]  [--  command  [arg...]]