# Debian systems ## Build Dependency: liblxc (>= 4.0.0 required) golang (>= 1.18 required) ``` acl attr autoconf automake dnsmasq-base git golang libacl1-dev libcap-dev liblxc1 lxc-dev libsqlite3-dev libtool libudev-dev liblz4-dev libuv1-dev make pkg-config rsync squashfs-tools tar tcl xz-utils ebtables lvm2 thin-provisioning-tools btrfs-progs libraft-dev libdqlite-dev ``` ## Test Suite Dependency: ``` curl gettext jq sqlite3 socat bind9-dnsutils ``` ## Building Script ``` git clone https://github.com/lxc/lxd ``` ``` cd lxd ``` ``` make deps ``` ### Follow the instructions from [make deps] to export the required environment variables. export CGO_CFLAGS=\"\$\{CGO_CFLAGS\} -I$(go env GOPATH)/deps/dqlite/include/ -I$(go env GOPATH)/deps/raft/include/"
export CGO_LDFLAGS="${CGO_LDFLAGS} -L$(go env GOPATH)/deps/dqlite/.libs/ -L$(go env GOPATH)/deps/raft/.libs/"
export LD_LIBRARY_PATH="$(go env GOPATH)/deps/dqlite/.libs/:$(go env GOPATH)/deps/raft/.libs/:${LD_LIBRARY_PATH}"
export CGO_LDFLAGS_ALLOW="(-Wl,-wrap,pthread_create)|(-Wl,-z,now)"
```
make
```
Binary are found on following PATH:
/home/$USER/go/bin
## Build debian packages (.deb)
Download build script [build-deb](../../../raw/branch/main/build-deb)
```
bash build-deb
```
[](https://linuxcontainers.org/lxd)
# LXD
LXD is a next generation system container and virtual machine manager.
It offers a unified user experience around full Linux systems running inside containers or virtual machines.
It's image based with pre-made images available for a [wide number of Linux distributions](https://images.linuxcontainers.org)
and is built around a very powerful, yet pretty simple, REST API.
To get a better idea of what LXD is and what it does, you can [try it online](https://linuxcontainers.org/lxd/try-it/)!
Then if you want to run it locally, take a look at our [getting started guide](https://linuxcontainers.org/lxd/getting-started-cli/).
Release announcements can be found here: