•
DIR/README
Build a singularity/apptainer image with given debian packages
Part of deb2apptainer(1).
deb2apptainer [-hB]
[-c
CMD]
[-f
FROM]
[-n
NAME]
[-o
DIR]
[-p
PRE_SCRIPT]
[-s
POST_SCRIPT]
packages
deb2singularity [-hB]
[-c
CMD]
[-f
FROM]
[-n
NAME]
[-o
DIR]
[-p
PRE_SCRIPT]
[-s
POST_SCRIPT]
packages
deb2apptainer is a simple script which takes as input a list of Debian packages and generates automatically a Singularity/Apptainer container including these packages. A set of freedesktop.org desktop launchers are also generated based on the .desktop and icon files found in the packages. In addition, a desktop launcher is created to start the container in a Terminal.
This tool is suited for deploying applications as containers, as well as for testing Debian packages in a sandbox.
-B
do NOT build the image (default is to build). A build script is generated in the DIR target directory.
-c EXEC
Command to run in the container (default to /bin/bash).
-f FROM
Distribution is to be used (default to debian:stable).
-h
Show this help
-n NAME
Name of the image (default is built from the package list).
-o DIR
Use given directory DIR for the build (default is in /tmp).
-p PRE_SCRIPT
Execute the given script PRE_SCRIPT before packages install.
-s POST_SCRIPT
Execute the given script POST_SCRIPT after packages install.
packagesThe package list can be any Debian package, as well as local .deb files.
•
DIR/README
•
DIR/image.def
•
DIR/image.sif
•
DIR/launchers/
•
DIR/icons/
•
DIR/build
•
DIR/start
You obviously require to have apptainer installed.
Get the Debian package at: - https://apptainer.org/docs/admin/main/installation.html#install-debian-packages
Usual commands typically used to handle Apptainer/Singularity containers are:
buildapptainer build image.sif
runapptainer run image.sif apptainer run –nv image.sif # with NVIDIA GPU pass-through
infoapptainer inspect image.sif
headerapptainer sif header image.sif
dataapptainer sif list image.sif
deb2apptainer -o /tmp/xeyes x11-apps
/tmp/xeyes/start xeyes
A Desktop launcher is created as /tmp/xeyes/launchers/x11-apps-terminal.desktop
deb2apptainer x11-apps meshlab
echo “sed -i `s/main/main contrib non-free/g' /etc/apt/sources.list” > pre.sh
deb2apptainer -p pre.sh x11-apps
echo “echo `deb http://deb.debian.org/debian bullseye main contrib non-free' >> /etc/apt/sources.list” > pre-script.sh
deb2apptainer -n pyhst2 -f debian:bullseye -p pre-script.sh -o /tmp/apptainer-pyhst2/ python3-pyhst2-cuda nvidia-smi nvidia-cuda-toolkit
apptainer run –nv /tmp/apptainer-pyhst2/pyhst2.sif nvidia-smi ```