By default all FMADIO LXC containers are built using a static local list of software packages. This is done to ensure a clear software supply chain / SBOM (Software Bill of Materials) used to scan for security issues
Adding support for generic Ubuntu packages is a simple process
Step 1) Update sources
update the list of package sources to the following
Configuration file is
/etc/apt/sources.list
By default its a statically generated list. Comment that out and replace with the stock ubuntu archive list
# Generated by distrobuilder
#deb [trusted=yes] file:/mnt/apt jammy main restricted universe multiverse
#deb [trusted=yes] file:/mnt/apt jammy-updates main restricted universe multiverse
#deb [trusted=yes] file:/mnt/apt jammy-security main restricted universe multiverse
deb http://sg.archive.ubuntu.com/ubuntu jammy main restricted universe multiverse
deb http://sg.archive.ubuntu.com/ubuntu jammy-updates main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu jammy-security main restricted universe multiverse
Step 2) Update apt-get
Update the package manager to source from the new locations
apt-get update
It should look similar to the following
root@fmadio100v2-228U-telecom:/# sudo apt-get update
Hit:1 http://sg.archive.ubuntu.com/ubuntu jammy InRelease
Get:2 http://security.ubuntu.com/ubuntu jammy-security InRelease [129 kB]
Get:3 http://sg.archive.ubuntu.com/ubuntu jammy-updates InRelease [128 kB]
Get:4 http://sg.archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages [2066 kB]
Get:5 http://sg.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 Packages [1128 kB]
Fetched 3451 kB in 3s (1119 kB/s)
Reading package lists... Done
root@fmadio100v2-228U-telecom:/#
Step 3) Install your favorite package
root@fmadio100v2-228U-telecom:/# sudo apt-get install neovim
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
libice6 libmsgpackc2 libsm6 libtermkey1 libtree-sitter0 libunibilium4 libvterm0 libxmu6 libxt6 lua-luv neovim-runtime python3-greenlet python3-msgpack python3-neovim python3-pynvim x11-common xclip
Suggested packages:
ctags vim-scripts python-greenlet-dev python-greenlet-doc
The following NEW packages will be installed:
libice6 libmsgpackc2 libsm6 libtermkey1 libtree-sitter0 libunibilium4 libvterm0 libxmu6 libxt6 lua-luv neovim neovim-runtime python3-greenlet python3-msgpack python3-neovim python3-pynvim x11-common xclip
0 upgraded, 18 newly installed, 0 to remove and 26 not upgraded.
Need to get 6678 kB of archives.
After this operation, 27.8 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://sg.archive.ubuntu.com/ubuntu jammy/main amd64 x11-common all 1:7.7+23ubuntu2 [23.4 kB]
Get:2 http://sg.archive.ubuntu.com/ubuntu jammy/main amd64 libice6 amd64 2:1.0.10-1build2 [42.6 kB]
Get:3 http://sg.archive.ubuntu.com/ubuntu jammy/main amd64 libsm6 amd64 2:1.2.3-1build2 [16.7 kB]
Get:4 http://sg.archive.ubuntu.com/ubuntu jammy/universe amd64 libtree-sitter0 amd64 0.20.3-1 [86.5 kB]
Get:5 http://sg.archive.ubuntu.com/ubuntu jammy/universe amd64 libunibilium4 amd64 2.1.0-1 [22.6 kB]
Get:6 http://sg.archive.ubuntu.com/ubuntu jammy/main amd64 libxt6 amd64 1:1.2.1-1 [177 kB]
Get:7 http://sg.archive.ubuntu.com/ubuntu jammy/main amd64 libxmu6 amd64 2:1.1.3-3 [49.6 kB]
Get:8 http://sg.archive.ubuntu.com/ubuntu jammy/universe amd64 lua-luv amd64 1.36.0-0-1 [84.2 kB]
Get:9 http://sg.archive.ubuntu.com/ubuntu jammy/main amd64 python3-msgpack amd64 1.0.3-1build1 [67.8 kB]
Get:10 http://sg.archive.ubuntu.com/ubuntu jammy/main amd64 python3-greenlet amd64 1.1.2-3build1 [65.0 kB]
Get:11 http://sg.archive.ubuntu.com/ubuntu jammy/universe amd64 python3-pynvim all 0.4.2-1 [31.2 kB]
Get:12 http://sg.archive.ubuntu.com/ubuntu jammy/universe amd64 python3-neovim all 0.4.2-1 [1804 B]
Get:13 http://sg.archive.ubuntu.com/ubuntu jammy/universe amd64 xclip amd64 0.13-2 [18.3 kB]
Get:14 http://sg.archive.ubuntu.com/ubuntu jammy/universe amd64 libmsgpackc2 amd64 3.3.0-4 [15.1 kB]
Get:15 http://sg.archive.ubuntu.com/ubuntu jammy/universe amd64 libtermkey1 amd64 0.22-1 [18.5 kB]
Get:16 http://sg.archive.ubuntu.com/ubuntu jammy/universe amd64 libvterm0 amd64 0.1.4-1 [29.7 kB]
Get:17 http://sg.archive.ubuntu.com/ubuntu jammy/universe amd64 neovim-runtime all 0.6.1-3 [4115 kB]
Get:18 http://sg.archive.ubuntu.com/ubuntu jammy/universe amd64 neovim amd64 0.6.1-3 [1814 kB]
Fetched 6678 kB in 2s (3090 kB/s)
Selecting previously unselected package x11-common.
(Reading database ... 47284 files and directories currently installed.)
Preparing to unpack .../00-x11-common_1%3a7.7+23ubuntu2_all.deb ...
Unpacking x11-common (1:7.7+23ubuntu2) ...
.
.
Setting up libunibilium4:amd64 (2.1.0-1) ...
Setting up neovim-runtime (0.6.1-3) ...
Setting up libmsgpackc2:amd64 (3.3.0-4) ...
Setting up x11-common (1:7.7+23ubuntu2) ...
Setting up libvterm0:amd64 (0.1.4-1) ...
Setting up lua-luv:amd64 (1.36.0-0-1) ...
Setting up libtree-sitter0:amd64 (0.20.3-1) ...
Setting up python3-greenlet (1.1.2-3build1) ...
Setting up libtermkey1:amd64 (0.22-1) ...
Setting up python3-msgpack (1.0.3-1build1) ...
Setting up libice6:amd64 (2:1.0.10-1build2) ...
Setting up neovim (0.6.1-3) ...
Setting up python3-pynvim (0.4.2-1) ...
Setting up python3-neovim (0.4.2-1) ...
Setting up libsm6:amd64 (2:1.2.3-1build2) ...
Setting up libxt6:amd64 (1:1.2.1-1) ...
Setting up libxmu6:amd64 (2:1.1.3-3) ...
Setting up xclip (0.13-2) ...
Processing triggers for libc-bin (2.35-0ubuntu3.8) ...
root@fmadio100v2-228U-telecom:/#