How to install lxd-imagebuilder and simplestream-maintainer

Installing from package

The lxd-imagebuilder and simplestream-maintainer tools are available in the lxd-imagebuilder snap from the Snap Store.

sudo snap install lxd-imagebuilder --classic

Installing from source

To compile from source, first install the Go programming language, and some other dependencies.

  • Debian-based:

    sudo apt update
    sudo apt install -y golang-go debootstrap rsync gpg squashfs-tools git make xdelta3
    
  • ArchLinux-based:

    sudo pacman -Syu
    sudo pacman -S go debootstrap rsync gnupg squashfs-tools git make xdelta3 --needed
    

NOTE: Go 1.22 or higher is required. If your package manager doesn’t provide a recent enough version, get it from upstream.

Second, download the source code of the lxd-imagebuilder repository (this repository).

mkdir -p $HOME/go/src/github.com/canonical/
cd $HOME/go/src/github.com/canonical/
git clone https://github.com/canonical/lxd-imagebuilder

Third, enter the directory with the source code of lxd-imagebuilder and run make to compile the source code. This will generate the executable programs lxd-imagebuilder and simplestream-maintainer in $HOME/go/bin.

cd ./lxd-imagebuilder
make

You may also add the directory $HOME/go/bin/ to your $PATH so that you do not need to run the command with the full path.