Skip to content

Offline Packages and Services

hypersdk edited this page Aug 7, 2026 · 1 revision

Offline Packages and Services

How PackageInstall / ServiceOperation / CommandExec behave when the guest is not running.

Deep docs: fix-plans.md.

PackageInstall staging

  1. Place .rpm / .deb files where GuestKit can find them.
  2. Apply the plan; GuestKit stages a first-boot oneshot to install them.
export GUESTKIT_PACKAGE_CACHE=~/pkgs
# optional: download missing pkgs on the host first
export GUESTKIT_PACKAGE_FETCH=1
# optional: HTTP fallback when host has no dnf/apt (e.g. macOS)
export GUESTKIT_PACKAGE_MIRROR=https://mirror.example/pkgs
# or template: https://mirror.example/{name}.{ext}

guestkit plan apply plan.yaml --vm disk.qcow2 --yes
Variable Role
GUESTKIT_PACKAGE_CACHE Host dirs of packages (colon/path list)
GUESTKIT_PACKAGE_FETCH=1 Host dnf / yumdownloader / apt-get download into cache
GUESTKIT_PACKAGE_MIRROR Comma-separated HTTP bases; {name} / {ext} templates; curl/wget

Default fetch cache: ~/.cache/guestkit/packages (or $XDG_CACHE_HOME/guestkit/packages).

ServiceOperation

Action Offline behavior
enable / disable systemd wants via Symlink / FileDelete
start / restart Stage guestkit-firstboot-live.service when chroot cannot run them

CommandExec

Try chroot first; on failure stage the same first-boot live oneshot (/var/lib/guestkit/firstboot-live.cmds).

Preview notes in guestkit plan preview call out what will be staged vs applied immediately.

Back to

Assurance: Home · Cutover · Day-0 · Passport · Packages · Env

CLI: Commands · Interactive · Explore · TUI

Platform: Web · Zeus · KubeVirt · GCF · Agent

More: Demos · FAQ · Docs · Blog Posts

Clone this wiki locally