Update system to a new container image using A/B partitions
Synopsis
Update the system by installing a new container image to the inactive root partition.
This command performs an A/B system update:
- Auto-detects the boot device (or use --device to override)
- Detects which root partition is currently active
- Checks if an update is available (compares image digests)
- Pulls the new container image (unless --skip-pull is specified)
- Extracts the new filesystem to the inactive root partition
- Updates the bootloader to boot from the new partition
- Keeps the old partition as a rollback option
Use --check to only check if an update is available without installing.
After update, reboot to activate the new system. The previous system remains available in the boot menu for rollback if needed.
Use --download-only to download an update without applying it. The update will be staged in /var/cache/nbc/staged-update/ and can be applied later with --local-image or --auto.
With --json flag, outputs streaming JSON Lines for progress updates.
Example: nbc update nbc update --check # Just check if update available nbc update --download-only # Download but don't apply nbc update --local-image # Apply staged update nbc update --auto # Use staged update if available, else pull nbc update --image quay.io/example/myimage:v2.0 nbc update --skip-pull nbc update --device /dev/sda # Override auto-detection nbc update --force # Reinstall even if up-to-date nbc update --json # Machine-readable streaming output
nbc update [flags]
Options
--auto Automatically use staged update if available, otherwise pull from registry
-c, --check Only check if an update is available (don't install)
-d, --device string Target disk device (auto-detected if not specified)
--download-only Download update to cache without applying
-f, --force Force reinstall even if system is up-to-date
-h, --help help for update
-i, --image string Container image reference (uses saved config if not specified)
-k, --karg stringArray Kernel argument to pass (can be specified multiple times)
--local-image Apply update from staged cache (/var/cache/nbc/staged-update/)
--skip-pull Skip pulling the image (use already pulled image)
Options inherited from parent commands
-n, --dry-run dry run mode (no actual changes)
--json output in JSON format for machine-readable output
-v, --verbose verbose output
SEE ALSO
- nbc - A bootc container installer for physical disks