umoci-raw-unpack(1)(#)
π umoci-raw-unpack π
okay bestie, so this is the umoci raw unpack page from the umoci manual β written by Aleksa Sarai back in SEPTEMBER 2018 and honestly? still iconic. it lives in section 1, and it's the one that just yeets a whole OCI image tag straight into a root filesystem. no bundle, no drama. periodt. π
β¨ NAME β¨
umoci raw unpack β unpacks an OCI image tag into a root filesystem π¦
like. that's it. that's the job. she extracts, she serves, she leaves. π
πΈ SYNOPSIS πΈ
umoci raw unpack [umoci-unpack(1) flags] rootfs
π DESCRIPTION π
okay so here's the vibe: this command takes all of the layers and extracts them deterministically into a root filesystem at the path you hand it as rootfs. β¨
π¨ important bestie: that rootfs path must not already exist. like, at all. if it's already there, this is not happening. she needs a clean slate, a blank canvas, main character energy only. π
π OPTIONS π
- global options β those live over in
umoci(1), go check her out π«Ά - this subcommand's options β literally identical to
umoci-unpack(1), with one single exception: instead of a bundle path, you're giving her a rootfs path. that's the whole difference. iykyk. π
π EXAMPLE π
okay so here's the full glow-up pipeline: download an image from a docker(1) registry using skopeo(1), unpack said image to a root filesystem, generate an OCI runtime configuration file with umoci-raw-runtime-config(1), and then spin up a brand new container with runc(8). π§β¨
% skopeo copy docker://opensuse/amd64:42.2 oci:image:latest
# umoci raw unpack --image image rootfs
# umoci raw runtime-config --image image --rootfs rootfs config.json
# runc run ctr
[ container session ]
and the plot twist?? with --rootless you can do that exact whole thing without root privileges. no sudo, no gatekeeping. umoci will generate a configuration that works with rootless containers in runc(8). π₯
% skopeo copy docker://opensuse/amd64:42.2 oci:image:latest
% umoci raw unpack --image image --rootless rootfs
% umoci raw runtime-config --image image --rootfs rootfs --rootless config.json
% runc --root $HOME/runc run ctr
[ rootless container session ]
not me being obsessed with a rootless container session. ππ
π SEE ALSO π
raw Β· umoci Β· umoci-raw-unpack(1)(#)
and that's the whole page, bestie β umoci raw unpack(1), section 1 of the umoci manual, brought to you by Aleksa Sarai, September 2018. go unpack something gorgeous. ππβ¨π¦
π¦ where this page comes from
- arch rolling: umoci 0.6.0-1 Β· Apache-2.0
- fedora 43: umoci 0.6.0-1.fc43 Β· Apache-2.0 AND MIT AND BSD-2-Clause AND BSD-3-Clause AND ISC
- fedora 44: umoci 0.6.0-3.fc44 Β· Apache-2.0 AND MIT AND BSD-2-Clause AND BSD-3-Clause AND ISC
- nixos 26.05: umoci 0.6.0
- nixpkgs unstable: umoci 0.6.0
- ubuntu stonking: umoci 0.6.0+ds-1 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms