-
Notifications
You must be signed in to change notification settings - Fork 1
Offline Packages and Services
hypersdk edited this page Aug 7, 2026
·
1 revision
How PackageInstall / ServiceOperation / CommandExec behave when the guest is not running.
Deep docs: fix-plans.md.
- Place
.rpm/.debfiles where GuestKit can find them. - 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).
| Action | Offline behavior |
|---|---|
| enable / disable | systemd wants via Symlink / FileDelete |
| start / restart | Stage guestkit-firstboot-live.service when chroot cannot run them |
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.