Looking into the nvidia container toolkit, TrueNAS installs it now…
ll /usr/lib/x86_64-linux-gnu/libnvidia-container*
lrwxrwxrwx 1 root 32 Oct 31 05:18 /usr/lib/x86_64-linux-gnu/libnvidia-container-go.so.1 -> libnvidia-container-go.so.1.17.0
-rw-r--r-- 1 root 2959448 Oct 31 05:18 /usr/lib/x86_64-linux-gnu/libnvidia-container-go.so.1.17.0
lrwxrwxrwx 1 root 29 Oct 31 05:18 /usr/lib/x86_64-linux-gnu/libnvidia-container.so.1 -> libnvidia-container.so.1.17.0*
-rwxr-xr-x 1 root 199952 Oct 31 05:18 /usr/lib/x86_64-linux-gnu/libnvidia-container.so.1.17.0
/var/log/apt/history.log:
Start-Date: 2024-10-31 10:36:37 Commandline: apt -y install gcc make pkg-config libvulkan1 nvidia-container-toolkit vulkan-validationlayers Install: libvulkan1:amd64 (1.3.239.0-1), libxcb-present0:amd64 (1.15-1, automatic), vulkan-validationlayers:amd64 (1.3.239.0-2), manpages-dev:amd64 (6.03-2, automatic), gcc-12:amd64 (12.2.0-14, automatic), libtsan2:amd64 (12.2.0-14, automatic), cpp:amd64 (4:12.2.0-3, automatic), gcc:amd64 (4:12.2.0-3), libx11-xcb1:amd64 (2:1.8.4-2+deb12u2, automatic), libxshmfence1:amd64 (1.3-1, automatic), libnvidia-container1:amd64 (1.17.0-1, automatic), libaom3:amd64 (3.6.0-1, automatic), libheif1:amd64 (1.15.1-1, automatic), libx265-199:amd64 (3.5-2+b1, automatic), libxcb-dri3-0:amd64 (1.15-1, automatic), libdav1d6:amd64 (1.0.0-2+deb12u1, automatic), libllvm15:amd64 (1:15.0.6-4+b1, automatic), libsvtav1enc1:amd64 (1.4.1+dfsg-1, automatic), pkgconf:amd64 (1.8.1-1, automatic), libcc1-0:amd64 (12.2.0-14, automatic), libmpc3:amd64 (1.3.1-1, automatic), libxpm4:amd64 (1:3.5.12-1.1+deb12u1, automatic), libgav1-1:amd64 (0.18.0-1+b1, automatic), libasan8:amd64 (12.2.0-14, automatic), libnsl-dev:amd64 (1.3.0-2, automatic), rpcsvc-proto:amd64 (1.4.3-1, automatic), make:amd64 (4.3-4.1), mesa-vulkan-drivers:amd64 (22.3.6-1+deb12u1, automatic), libyuv0:amd64 (0.0~git20230123.b2528b0-1, automatic), libcrypt-dev:amd64 (1:4.4.33-2, automatic), pkg-config:amd64 (1.8.1-1), cpp-12:amd64 (12.2.0-14, automatic), libabsl20220623:amd64 (20220623.1-1, automatic), libitm1:amd64 (12.2.0-14, automatic), libnvidia-container-tools:amd64 (1.17.0-1, automatic), libavif15:amd64 (0.11.1-1, automatic), libc-dev-bin:amd64 (2.36-9+deb12u7, automatic), libxcb-randr0:amd64 (1.15-1, automatic), libc-devtools:amd64 (2.36-9+deb12u7, automatic), nvidia-container-toolkit:amd64 (1.17.0-1), libisl23:amd64 (0.25-1.1, automatic), libc6-dev:amd64 (2.36-9+deb12u7, automatic), pkgconf-bin:amd64 (1.8.1-1, automatic), nvidia-container-toolkit-base:amd64 (1.17.0-1, automatic), libubsan1:amd64 (12.2.0-14, automatic), liblsan0:amd64 (12.2.0-14, automatic), libpkgconf3:amd64 (1.8.1-1, automatic), libgd3:amd64 (2.3.3-9, automatic), libwayland-client0:amd64 (1.21.0-1, automatic), libde265-0:amd64 (1.0.11-1+deb12u2, automatic), libxcb-sync1:amd64 (1.15-1, automatic), libtirpc-dev:amd64 (1.3.3+ds-1, automatic), librav1e0:amd64 (0.5.1-6, automatic), libatomic1:amd64 (12.2.0-14, automatic), libgcc-12-dev:amd64 (12.2.0-14, automatic), libxcb-xfixes0:amd64 (1.15-1, automatic) End-Date: 2024-10-31 10:36:47
The package is failing to install those exact libs:
debconf: delaying package configuration, since apt-utils is not installed
(Reading database ... 17037 files and directories currently installed.)
Preparing to unpack .../libnvidia-container1_1.17.0-1_amd64.deb ...
Unpacking libnvidia-container1:amd64 (1.17.0-1) over (1.16.2-1) ...
dpkg: error processing archive /var/cache/apt/archives/libnvidia-container1_1.17.0-1_amd64.deb (--unpack):
unable to create '/usr/lib/x86_64-linux-gnu/libnvidia-container-go.so.1.17.0.dpkg-new' (while processing './usr/lib/x86_64-linux-gnu/libnvi
dia-container-go.so.1.17.0'): Read-only file system
dpkg: error while cleaning up:
unable to remove newly-extracted version of '/usr/lib/x86_64-linux-gnu/libnvidia-container-go.so.1.17.0': Read-only file system
Errors were encountered while processing:
/var/cache/apt/archives/libnvidia-container1_1.17.0-1_amd64.deb
I’m thinking we might not need to install those packages anymore. I will test with a new jail and modify the jailmaker.py script to not install the repos for the nvidia-container-toolkit.
EDIT: This is going to get really messy, really quickly for GPU users
… can’t install docker
, passing through /usr/bin
gives the jail access to docker
, etc, but now I have to create custom systemd units, docker group to start it from within the jail… more testing…