DEBSPAWN-RUN(1)

πŸ“¦
version 0.6.5 Β· 3 versions
, in ubuntu stonking

πŸ’… DEBSPAWN-RUN (1) πŸ’…

okay bestie, welcome to debspawn-run β€” literally the manual page for the debspawn run subcommand. pull up a chair, grab a boba, we're doing this πŸ§‹βœ¨


🌸 NAME 🌸

debspawn-run β€” run arbitrary commands in a debspawn container session. yes, arbitrary. the container is your canvas and you are the main character πŸŽ¨πŸ‘‘


✨ SYNOPSIS ✨

debspawn run [-h|--help] [--variant] [-a|--arch] [--suite]
             [--artifacts-out] [--build-dir] [--bind-build-dir]
             [--cachekey] [--init-command] [-x|--external-command]
             [--header] [--allow] [--boot] [--persistent] [--run-as]
             {NAME} {COMMAND}

look at all those flags. it's giving "options menu at a fancy restaurant" and honestly? we ate πŸ½οΈπŸ’–


πŸ¦‹ DESCRIPTION πŸ¦‹

so here's the tea: this subcommand lets you run any commands you want inside an ephemeral debspawn container, using the exact same environment that's normally used for building packages. same vibes, same setup, no cap 🫢

debspawn run is explicitly designed to be used by other automation tools for custom applications β€” iykyk, it's the backstage pass for your scripts. and usually you'll want to use debspawn build instead to build Debian packages. run is for the custom stuff, build is for the package stuff. periodt πŸ’…


πŸ‘‘ OPTIONS πŸ‘‘

  • NAME β€” the name of the container image (usually a distribution suite name). it's basically the container's @ handle 🌈
  • COMMAND β€” the command to run. the one doing all the work, the icon, the moment ⭐
  • -h|--help β€” print brief help information about available commands. when you're lost, it's got you πŸ”₯
  • --variant β€” set the variant of the selected image, the one that was used for bootstrapping. flavouring your image, basically πŸ“
  • -a|--arch β€” the architecture of the base image that should be selected. choose your fighter πŸ₯Š
  • --suite β€” explicitly set a suite name, instead of having it derived from the container name. no guessing games, you say it, it is πŸ’…
  • --artifacts-out β€” directory on the host where artifacts can be stored. it gets mounted to /srv/artifacts in the guest. your lil souvenir shop for build outputs, adorable πŸŽ€
  • --build-dir β€” select a host directory that gets copied to /srv/build. photocopy energy, not the original 🫧
  • --bind-build-dir β€” bindmount build directory instead of copying it. mounts read-only by default, but can mount as writable as well if rw is passed as value. so careful bestie, rw means the container can write back into your actual directory. it's giving "sharing your notes app" 😭
  • --cachekey β€” if set, use the specified cache-ID to store an initialized container image for faster initialization times. this may mean that the command passed in --init-command is skipped if the cache already existed. lowkey a speedrun hack, but highkey it might ghost your init command βš‘πŸ’€
  • --init-command β€” the command or command script used to set up the container. the pre-game ritual, the getting-ready montage πŸͺžβœ¨
  • -x|--external-command β€” if set, the command script(s) will be copied from the host to the container and then executed. bring your own script, we'll carry it over the threshold 🧳
  • --header β€” name of the task that is run, will be printed as header. a little title card for your task, very cinematic 🎬
  • --allow β€” list one or more additional permissions to grant the container. takes a comma-separated list of capability names. giving the container extra privileges, like handing your friend your phone unlocked πŸ™ˆ
  • --boot β€” boot container image. requires the image to contain an init system, so no init system = no boot, no exceptions πŸ’€
  • --persistent β€” make changes done by the command or script persistent, writing them back into the container base image after the run completes. this is not a drill, it actually writes back into the base image β€” the effects are forever, like a text you can't unsend πŸ“Œ
  • --run-as β€” run the command as root (privileged, default) or as the container's unprivileged builder user (unprivileged). pick your power level: god mode or civilian mode 🫑

🌈 SEE ALSO 🌈

debspawn-build(1). go read it, it's the sister page and she's iconic too πŸ’œ


πŸ’– AUTHOR πŸ’–

this manual page was written by Matthias Klumpp <mak@debian.org>. thank you for your service, legend 🫢


Copyright Β© 2018-2022 Matthias Klumpp


okay that's the whole page bestie, you made it to the end, so proud of you, go forth and debspawn run responsibly ✨

this has been debspawn-run(1) from Debspawn β€” mwah, take care of her πŸ’…πŸ’–

πŸ“¦ where this page comes from