Provided by: devscripts_2.24.6_all
NAME
deb2apptainer - Build a Singularity/Apptainer image with given Debian packages
SYNOPSIS
deb2apptainer [-hB][-c CMD][-f FROM][-n NAME][-o DIR][-p deb2singularity [-hB][-c CMD][-f FROM][-n NAME][-o DIR][-p PRE_SCRIPT][-s POST_SCRIPT] packages
DESCRIPTION
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.
OPTIONS
-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. packages The package list can be any Debian package, as well as local .deb files.
FILES
• DIR/README • DIR/image.def • DIR/image.sif • DIR/launchers/ • DIR/icons/ • DIR/build • DIR/start
NOTES
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: build apptainer build image.sif run apptainer run image.sif apptainer run –nv image.sif # with NVIDIA GPU pass-through info apptainer inspect image.sif header apptainer sif header image.sif data apptainer sif list image.sif
EXAMPLES
Create a Singularity/Apptainer container with package x11-apps in directory /tmp/xeyes, and launch xeyes: • deb2apptainer -o /tmp/xeyes x11-apps • /tmp/xeyes/start xeyes A Desktop launcher is created as /tmp/xeyes/launchers/x11-apps-terminal.desktop Create a Singularity/Apptainer container with x11-apps and meshlab deb2apptainer x11-apps meshlab Create a Singularity/Apptainer container making sure software channels are active: • echo “sed -i `s/main/main contrib non-free/g' /etc/apt/sources.list” > pre.sh • deb2apptainer -p pre.sh x11-apps Create a Singularity/Apptainer container based on specific Debian version, and make use of the GPU: • 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 ```
AUTHORS
Emmanuel Farhi (emmanuel.farhi@synchrotron-soleil.fr)
SEE ALSO
deb2docker(1), distrobox-create(1), distrobox-enter(1), docker(1), apptainer(1)
AUTHORS
Emmanuel Farhi. February 2024 DEB2APPTAINER(1)