apt-ostree/docs/cli-reality.txt
robojerk 9d5f506aba 🎉 MAJOR BREAKTHROUGH: Complete deb-bootc-compose integration with real functionality
🚀 CRITICAL COMMANDS NOW FULLY FUNCTIONAL:

 apt-ostree compose tree - Real tree composition with APT package installation and OSTree commits
 apt-ostree db search - Real APT package search for deb-orchestrator integration
 apt-ostree db show - Real package metadata display functionality
 apt-ostree compose container-encapsulate - Real OCI-compliant container image generation

🔧 TECHNICAL ACHIEVEMENTS:
- Real treefile parsing with YAML support (serde_yaml)
- Build environment setup with isolated chroots
- APT package installation in build environment
- Real OSTree repository initialization and commit creation
- OCI container image generation with proper manifests
- Comprehensive error handling and progress reporting

📦 DEPENDENCIES ADDED:
- serde_yaml for treefile parsing
- tar for container archive creation
- chrono for timestamp generation in OCI config

🎯 IMPACT:
- deb-bootc-compose:  READY - Full OSTree tree composition and container generation
- deb-orchestrator:  READY - Package search and metadata display
- deb-mock: 🟡 PARTIALLY READY - Core functionality working

This represents a complete transformation from placeholder implementations to fully functional
commands that can be used in production CI/CD environments for Debian-based OSTree systems.
2025-08-18 16:26:32 -07:00

933 lines
42 KiB
Text

rpm-ostree --help
Usage:
rpm-ostree [OPTION…] COMMAND
Builtin Commands:
apply-live Apply pending deployment changes to booted deployment
cancel Cancel an active transaction
cleanup Clear cached/pending data
compose Commands to compose a tree
db Commands to query the RPM database
deploy Deploy a specific commit
finalize-deployment Unset the finalization locking state of the staged deployment and reboot
initramfs Enable or disable local initramfs regeneration
initramfs-etc Add files to the initramfs
install Overlay additional packages
kargs Query or modify kernel arguments
override Manage base package overrides
rebase Switch to a different tree
refresh-md Generate rpm repo metadata
reload Reload configuration
reset Remove all mutations
rollback Revert to the previously booted tree
search Search for packages
status Get the version of the booted system
uninstall Remove overlayed additional packages
upgrade Perform a system upgrade
usroverlay Apply a transient overlayfs to /usr
Help Options:
-h, --help Show help options
Application Options:
--version Print version information and exit
-q, --quiet Avoid printing most informational messages
rpm-ostree apply-live --help
Usage: rpm-ostree [OPTIONS]
Options:
--target <TARGET> Target provided commit instead of pending deployment
--reset Reset back to booted commit
--allow-replacement Allow replacement of packages/files (default is pure additive)
-h, --help Print help
rpm-ostree cancel --help
Usage:
rpm-ostree cancel [OPTION…]
Cancel an active transaction
Help Options:
-h, --help Show help options
Application Options:
--sysroot=SYSROOT Use system root SYSROOT (default: /)
--peer Force a peer-to-peer connection instead of using the system message bus
--version Print version information and exit
-q, --quiet Avoid printing most informational messages
rpm-ostree cleanup --help
Usage:
rpm-ostree cleanup [OPTION…]
Clear cached/pending data
Help Options:
-h, --help Show help options
Application Options:
--stateroot=STATEROOT Operate on provided STATEROOT
-b, --base Clear temporary files; will leave deployments unchanged
-p, --pending Remove pending deployment
-r, --rollback Remove rollback deployment
-m, --repomd Delete cached rpm repo metadata
--sysroot=SYSROOT Use system root SYSROOT (default: /)
--peer Force a peer-to-peer connection instead of using the system message bus
--version Print version information and exit
-q, --quiet Avoid printing most informational messages
rpm-ostree db --help
Usage:
rpm-ostree db [OPTION…] COMMAND
Commands to query the RPM database
Builtin "db" Commands:
diff Show package changes between two commits
list List packages within commits
version Show rpmdb version of packages within the commits
Help Options:
-h, --help Show help options
Application Options:
--version Print version information and exit
-q, --quiet Avoid printing most informational messages
rpm-ostree db dif --help
Usage:
rpm-ostree db [OPTION…] COMMAND
Commands to query the RPM database
Builtin "db" Commands:
diff Show package changes between two commits
list List packages within commits
version Show rpmdb version of packages within the commits
Help Options:
-h, --help Show help options
Application Options:
--version Print version information and exit
-q, --quiet Avoid printing most informational messages
rpm-ostree db list --help
Usage:
rpm-ostree db list [OPTION…] REV... [PREFIX-PKGNAME...]
List packages within commits
Help Options:
-h, --help Show help options
Application Options:
-r, --repo=PATH Path to OSTree repository (defaults to /sysroot/ostree/repo)
-a, --advisories Also list advisories
--version Print version information and exit
-q, --quiet Avoid printing most informational messages
rpm-ostree db version --help
Usage:
rpm-ostree db version [OPTION…] COMMIT...
Show rpmdb version of packages within the commits
Help Options:
-h, --help Show help options
Application Options:
-r, --repo=PATH Path to OSTree repository (defaults to /sysroot/ostree/repo)
--version Print version information and exit
-q, --quiet Avoid printing most informational messages
rpm-ostree deploy --help
Usage:
rpm-ostree deploy [OPTION…] REVISION
Deploy a specific commit
Help Options:
-h, --help Show help options
Application Options:
--stateroot=STATEROOT Operate on provided STATEROOT
-r, --reboot Initiate a reboot after operation is complete
--preview Just preview package differences
-C, --cache-only Do not download latest ostree and RPM data
--download-only Just download latest ostree and RPM data, don't deploy
--skip-branch-check Do not check if commit belongs on the same branch
--lock-finalization Prevent automatic deployment finalization on shutdown
--disallow-downgrade Forbid deployment of chronologically older trees
--unchanged-exit-77 If no new deployment made, exit 77
--register-driver=DRIVERNAME Register the calling agent as the driver for updates; if REVISION is an empty string, register driver without deploying
--bypass-driver Force a deploy even if an updates driver is registered
--sysroot=SYSROOT Use system root SYSROOT (default: /)
--peer Force a peer-to-peer connection instead of using the system message bus
--install=PKG Overlay additional package
--uninstall=PKG Remove overlayed additional package
--version Print version information and exit
-q, --quiet Avoid printing most informational messages
$ rpm-ostree finalize-deployment --help
Usage:
rpm-ostree finalize-deployment [OPTION…] CHECKSUM
Unset the finalization locking state of the staged deployment and reboot
Help Options:
-h, --help Show help options
Application Options:
--stateroot=STATEROOT Operate on provided STATEROOT
--allow-missing-checksum Don't error out if no expected checksum is provided
--allow-unlocked Don't error out if staged deployment wasn't locked
--sysroot=SYSROOT Use system root SYSROOT (default: /)
--peer Force a peer-to-peer connection instead of using the system message bus
--version Print version information and exit
-q, --quiet Avoid printing most informational messages
$ rpm-ostree initramfs --help
Usage:
rpm-ostree initramfs [OPTION…]
Enable or disable local initramfs regeneration
Help Options:
-h, --help Show help options
Application Options:
--stateroot=STATEROOT Operate on provided STATEROOT
--enable Enable regenerating initramfs locally using dracut
--arg=ARG Append ARG to the dracut arguments
--disable Disable regenerating initramfs locally
-r, --reboot Initiate a reboot after operation is complete
--lock-finalization Prevent automatic deployment finalization on shutdown
--sysroot=SYSROOT Use system root SYSROOT (default: /)
--peer Force a peer-to-peer connection instead of using the system message bus
--version Print version information and exit
-q, --quiet Avoid printing most informational messages
$ rpm-ostree initramfs-etc --help
Usage:
rpm-ostree initramfs-etc [OPTION…]
Add files to the initramfs
Help Options:
-h, --help Show help options
Application Options:
--stateroot=STATEROOT Operate on provided STATEROOT
--force-sync Deploy a new tree with the latest tracked /etc files
--track=FILE Track root /etc file
--untrack=FILE Untrack root /etc file
--untrack-all Untrack all root /etc files
-r, --reboot Initiate a reboot after operation is complete
--lock-finalization Prevent automatic deployment finalization on shutdown
--unchanged-exit-77 If no new deployment made, exit 77
--sysroot=SYSROOT Use system root SYSROOT (default: /)
--peer Force a peer-to-peer connection instead of using the system message bus
--version Print version information and exit
-q, --quiet Avoid printing most informational messages
$ rpm-ostree install --help
Usage:
rpm-ostree install [OPTION…] PACKAGE [PACKAGE...]
Overlay additional packages
Help Options:
-h, --help Show help options
Application Options:
--uninstall=PKG Remove overlayed additional package
-C, --cache-only Do not download latest ostree and RPM data
--download-only Just download latest ostree and RPM data, don't deploy
-A, --apply-live Apply changes to both pending deployment and running filesystem tree
--force-replacefiles Allow package to replace files from other packages
--stateroot=STATEROOT Operate on provided STATEROOT
-r, --reboot Initiate a reboot after operation is complete
-n, --dry-run Exit after printing the transaction
-y, --assumeyes Auto-confirm interactive prompts for non-security questions
--allow-inactive Allow inactive package requests
--idempotent Do nothing if package already (un)installed
--unchanged-exit-77 If no overlays were changed, exit 77
--lock-finalization Prevent automatic deployment finalization on shutdown
--enablerepo Enable the repository based on the repo id. Is only supported in a container build.
--disablerepo Only disabling all (*) repositories is supported currently. Is only supported in a container build.
--releasever Set the releasever. Is only supported in a container build.
--sysroot=SYSROOT Use system root SYSROOT (default: /)
--peer Force a peer-to-peer connection instead of using the system message bus
--version Print version information and exit
-q, --quiet Avoid printing most informational messages
$ rpm-ostree kargs --help
Usage:
rpm-ostree kargs [OPTION…]
Query or modify kernel arguments
Help Options:
-h, --help Show help options
Application Options:
--stateroot=STATEROOT Operate on provided STATEROOT
--deploy-index=INDEX Modify the kernel args from a specific deployment based on index. Index is in the form of a number (e.g. 0 means the first deployment in the list)
--reboot Initiate a reboot after operation is complete
--append=KEY=VALUE Append kernel argument; useful with e.g. console= that can be used multiple times. empty value for an argument is allowed
--replace=KEY=VALUE=NEWVALUE Replace existing kernel argument, the user is also able to replace an argument with KEY=VALUE if only one value exist for that argument
--delete=KEY=VALUE Delete a specific kernel argument key/val pair or an entire argument with a single key/value pair
--append-if-missing=KEY=VALUE Like --append, but does nothing if the key is already present
--delete-if-present=KEY=VALUE Like --delete, but does nothing if the key is already missing
--unchanged-exit-77 If no kernel args changed, exit 77
--import-proc-cmdline Instead of modifying old kernel arguments, we modify args from current /proc/cmdline (the booted deployment)
--editor Use an editor to modify the kernel arguments
--lock-finalization Prevent automatic deployment finalization on shutdown
--sysroot=SYSROOT Use system root SYSROOT (default: /)
--peer Force a peer-to-peer connection instead of using the system message bus
--version Print version information and exit
-q, --quiet Avoid printing most informational messages
$ rpm-ostree override --help
Usage:
rpm-ostree override [OPTION…] COMMAND
Manage base package overrides
Builtin "override" Commands:
remove Remove packages from the base layer
replace Replace packages in the base layer
reset Reset currently active package overrides
Help Options:
-h, --help Show help options
Application Options:
--version Print version information and exit
-q, --quiet Avoid printing most informational messages
$ rpm-ostree override remove --help
Usage:
rpm-ostree override remove [OPTION…] PACKAGE [PACKAGE...]
Remove packages from the base layer
Help Options:
-h, --help Show help options
Application Options:
--replace=RPM Replace a package
--stateroot=STATEROOT Operate on provided STATEROOT
-r, --reboot Initiate a reboot after operation is complete
-n, --dry-run Exit after printing the transaction
--lock-finalization Prevent automatic deployment finalization on shutdown
-C, --cache-only Only operate on cached data
--sysroot=SYSROOT Use system root SYSROOT (default: /)
--peer Force a peer-to-peer connection instead of using the system message bus
--install=PKG Overlay additional package
--uninstall=PKG Remove overlayed additional package
--version Print version information and exit
-q, --quiet Avoid printing most informational messages
$ rpm-ostree override replace --help
Usage:
rpm-ostree override replace [OPTION…] PACKAGE [PACKAGE...]
Replace packages in the base layer
Help Options:
-h, --help Show help options
Application Options:
--remove=PKG Remove a package
--stateroot=STATEROOT Operate on provided STATEROOT
--reboot Initiate a reboot after operation is complete
-n, --dry-run Exit after printing the transaction
--lock-finalization Prevent automatic deployment finalization on shutdown
-C, --cache-only Only operate on cached data
--sysroot=SYSROOT Use system root SYSROOT (default: /)
--peer Force a peer-to-peer connection instead of using the system message bus
--install=PKG Overlay additional package
--uninstall=PKG Remove overlayed additional package
--version Print version information and exit
-q, --quiet Avoid printing most informational messages
$ rpm-ostree override reset --help
Usage:
rpm-ostree override reset [OPTION…] PACKAGE [PACKAGE...]
Reset currently active package overrides
Help Options:
-h, --help Show help options
Application Options:
-a, --all Reset all active overrides
--stateroot=STATEROOT Operate on provided STATEROOT
-r, --reboot Initiate a reboot after operation is complete
-n, --dry-run Exit after printing the transaction
--lock-finalization Prevent automatic deployment finalization on shutdown
-C, --cache-only Only operate on cached data
--sysroot=SYSROOT Use system root SYSROOT (default: /)
--peer Force a peer-to-peer connection instead of using the system message bus
--install=PKG Overlay additional package
--uninstall=PKG Remove overlayed additional package
--version Print version information and exit
-q, --quiet Avoid printing most informational messages
$ rpm-ostree rebase --help
Usage:
rpm-ostree rebase [OPTION…] REFSPEC [REVISION]
Switch to a different tree
Help Options:
-h, --help Show help options
Application Options:
--stateroot=STATEROOT Operate on provided STATEROOT
-b, --branch=BRANCH Rebase to branch BRANCH; use --remote to change remote as well
-m, --remote=REMOTE Rebase to current branch name using REMOTE; may also be combined with --branch
-r, --reboot Initiate a reboot after operation is complete
--skip-purge Keep previous refspec after rebase
-C, --cache-only Do not download latest ostree and RPM data
--download-only Just download latest ostree and RPM data, don't deploy
--custom-origin-description Human-readable description of custom origin
--custom-origin-url Machine-readable description of custom origin
--experimental Enable experimental features
--disallow-downgrade Forbid deployment of chronologically older trees
--lock-finalization Prevent automatic deployment finalization on shutdown
--bypass-driver Force a rebase even if an updates driver is registered
--sysroot=SYSROOT Use system root SYSROOT (default: /)
--peer Force a peer-to-peer connection instead of using the system message bus
--install=PKG Overlay additional package
--uninstall=PKG Remove overlayed additional package
--version Print version information and exit
-q, --quiet Avoid printing most informational messages
$ rpm-ostree refresh-md --help
Usage:
rpm-ostree refresh-md [OPTION…]
Generate rpm repo metadata
Help Options:
-h, --help Show help options
Application Options:
--stateroot=STATEROOT Operate on provided STATEROOT
-f, --force Expire current cache
--sysroot=SYSROOT Use system root SYSROOT (default: /)
--peer Force a peer-to-peer connection instead of using the system message bus
--version Print version information and exit
-q, --quiet Avoid printing most informational messages
$ rpm-ostree reload --help
Usage:
rpm-ostree reload [OPTION…]
Reload configuration
Help Options:
-h, --help Show help options
Application Options:
--sysroot=SYSROOT Use system root SYSROOT (default: /)
--peer Force a peer-to-peer connection instead of using the system message bus
--version Print version information and exit
-q, --quiet Avoid printing most informational messages
$ rpm-ostree reset --help
Usage:
rpm-ostree reset [OPTION…]
Remove all mutations
Help Options:
-h, --help Show help options
Application Options:
--stateroot=STATEROOT Operate on provided STATEROOT
-r, --reboot Initiate a reboot after transaction is complete
-l, --overlays Remove all overlayed packages
-o, --overrides Remove all overrides
-i, --initramfs Stop regenerating initramfs or tracking files
--sysroot=SYSROOT Use system root SYSROOT (default: /)
--peer Force a peer-to-peer connection instead of using the system message bus
--install=PKG Overlay additional package
--uninstall=PKG Remove overlayed additional package
--version Print version information and exit
-q, --quiet Avoid printing most informational messages
$ rpm-ostree rollback --help
Usage:
rpm-ostree rollback [OPTION…]
Revert to the previously booted tree
Help Options:
-h, --help Show help options
Application Options:
-r, --reboot Initiate a reboot after operation is complete
--sysroot=SYSROOT Use system root SYSROOT (default: /)
--peer Force a peer-to-peer connection instead of using the system message bus
--version Print version information and exit
-q, --quiet Avoid printing most informational messages
$ rpm-ostree search --help
Usage:
rpm-ostree search [OPTION…] PACKAGE [PACKAGE...]
Search for packages
Help Options:
-h, --help Show help options
Application Options:
--uninstall=PKG Remove overlayed additional package
-C, --cache-only Do not download latest ostree and RPM data
--download-only Just download latest ostree and RPM data, don't deploy
-A, --apply-live Apply changes to both pending deployment and running filesystem tree
--force-replacefiles Allow package to replace files from other packages
--install=PKG Overlay additional package
--all Remove all overlayed additional packages
--stateroot=STATEROOT Operate on provided STATEROOT
-r, --reboot Initiate a reboot after operation is complete
-n, --dry-run Exit after printing the transaction
-y, --assumeyes Auto-confirm interactive prompts for non-security questions
--allow-inactive Allow inactive package requests
--idempotent Do nothing if package already (un)installed
--unchanged-exit-77 If no overlays were changed, exit 77
--lock-finalization Prevent automatic deployment finalization on shutdown
--enablerepo Enable the repository based on the repo id. Is only supported in a container build.
--disablerepo Only disabling all (*) repositories is supported currently. Is only supported in a container build.
--releasever Set the releasever. Is only supported in a container build.
--sysroot=SYSROOT Use system root SYSROOT (default: /)
--peer Force a peer-to-peer connection instead of using the system message bus
--version Print version information and exit
-q, --quiet Avoid printing most informational messages
$ rpm-ostree status --help
Usage:
rpm-ostree status [OPTION…]
Get the version of the booted system
Help Options:
-h, --help Show help options
Application Options:
-v, --verbose Print additional fields (e.g. StateRoot); implies -a
-a, --advisories Expand advisories listing
--json Output JSON
-J, --jsonpath=EXPRESSION Filter JSONPath expression
-b, --booted Only print the booted deployment
--pending-exit-77 If pending deployment available, exit 77
--sysroot=SYSROOT Use system root SYSROOT (default: /)
--peer Force a peer-to-peer connection instead of using the system message bus
--version Print version information and exit
-q, --quiet Avoid printing most informational messages
$ rpm-ostree status
State: idle
Deployments:
ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-nvidia-open:stable
Digest: sha256:1b8a74d699d5b15ab762fd8e6c3ce9b3b6838926567ff845ade678d3d083f1bb
Version: 42.20250817 (2025-08-18T06:31:34Z)
Diff: 333 upgraded, 3 removed, 1 added
● ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-nvidia-open:stable
Digest: sha256:7b58b40ec5f3e8ab59dbc27634e6c60dd859a7fa97ce69e1516c804a4959a4ed
Version: 42.20250809 (2025-08-10T02:07:12Z)
Initramfs: regenerate
ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-nvidia-open:stable
Digest: sha256:e92a5b31766cb683eb11b81475af846d7f1576bad63f2dd25dcce0b60bfa1469
Version: 42.20250804 (2025-08-04T05:42:59Z)
Initramfs: regenerate
$ rpm-ostree uninstall--help
$ rpm-ostree uninstall --help
Usage:
rpm-ostree uninstall [OPTION…] PACKAGE [PACKAGE...]
Remove overlayed additional packages
Help Options:
-h, --help Show help options
Application Options:
--install=PKG Overlay additional package
--all Remove all overlayed additional packages
--stateroot=STATEROOT Operate on provided STATEROOT
-r, --reboot Initiate a reboot after operation is complete
-n, --dry-run Exit after printing the transaction
-y, --assumeyes Auto-confirm interactive prompts for non-security questions
--allow-inactive Allow inactive package requests
--idempotent Do nothing if package already (un)installed
--unchanged-exit-77 If no overlays were changed, exit 77
--lock-finalization Prevent automatic deployment finalization on shutdown
--enablerepo Enable the repository based on the repo id. Is only supported in a container build.
--disablerepo Only disabling all (*) repositories is supported currently. Is only supported in a container build.
--releasever Set the releasever. Is only supported in a container build.
--sysroot=SYSROOT Use system root SYSROOT (default: /)
--peer Force a peer-to-peer connection instead of using the system message bus
--version Print version information and exit
-q, --quiet Avoid printing most informational messages
$ rpm-ostree upgrade --help
Usage:
rpm-ostree upgrade [OPTION…]
Perform a system upgrade
Help Options:
-h, --help Show help options
Application Options:
--stateroot=STATEROOT Operate on provided STATEROOT
-r, --reboot Initiate a reboot after operation is complete
--allow-downgrade Permit deployment of chronologically older trees
--preview Just preview package differences (implies --unchanged-exit-77)
--check Just check if an upgrade is available (implies --unchanged-exit-77)
-C, --cache-only Do not download latest ostree and RPM data
--download-only Just download latest ostree and RPM data, don't deploy
--unchanged-exit-77 If no new deployment made, exit 77
--lock-finalization Prevent automatic deployment finalization on shutdown
--bypass-driver Force an upgrade even if an updates driver is registered
--sysroot=SYSROOT Use system root SYSROOT (default: /)
--peer Force a peer-to-peer connection instead of using the system message bus
--install=PKG Overlay additional package
--uninstall=PKG Remove overlayed additional package
--version Print version information and exit
-q, --quiet Avoid printing most informational messages
$ rpm-ostree usroverlay --help
Usage:
ostree admin unlock [OPTION…]
Make the current deployment mutable (as a hotfix or development)
Help Options:
-h, --help Show help options
Application Options:
--sysroot=PATH Create a new OSTree sysroot at PATH
--hotfix Retain changes across reboots
--transient Mount overlayfs read-only by default
-v, --verbose Print debug information during command processing
--version Print version information and exit
$ rpm-ostree compose --help
Usage:
rpm-ostree compose [OPTION…] COMMAND
Commands to compose a tree
Builtin "compose" Commands:
build-chunked-oci Generate a "chunked" OCI archive from an input rootfs
commit Commit a target path to an OSTree repository
container-encapsulate Generate a reproducible "chunked" container image (using RPM data) from an OSTree commit
extensions Download RPM packages guaranteed to depsolve with a base OSTree
image Generate a reproducible "chunked" container image (using RPM data) from a treefile
install Install packages into a target path
postprocess Perform final postprocessing on an installation root
rootfs Generate a root filesystem tree from a treefile
tree Process a "treefile"; install packages and commit the result to an OSTree repository
Help Options:
-h, --help Show help options
Application Options:
--version Print version information and exit
-q, --quiet Avoid printing most informational messages
$ rpm-ostree compose build-chunked-oci --help
Generate a "chunked" OCI archive from an input rootfs
Usage: rpm-ostree [OPTIONS] --bootc --output <OUTPUT>
Options:
--rootfs <ROOTFS>
Path to the source root filesystem tree
--from <FROM>
Use the provided image (in containers-storage)
--bootc
If set, configure the output OCI image to be a bootc container. At the current time this option is required
--format-version <FORMAT_VERSION>
The format version. Version `1` creates OCI (tar) layers sparsely, meaning parent directories may be omitted from the tar stream. Version `2` ensures that all parent directories in all layers are present in the tar stream. Default value is `1` for backward compatibility [default: 1]
--max-layers <MAX_LAYERS>
Maximum number of layers to use. The default value of 64 is chosen to balance splitting up an image into sufficient chunks versus compatibility with older OCI runtimes that may have problems with larger number of layers. However, with recent podman 5 for example with newer overlayfs, it works to use over 200 layers
--reference <REFERENCE>
Tag to use for output image, or `latest` if unset [default: latest]
--output <OUTPUT>
Output image reference, in TRANSPORT:TARGET syntax. For example, `containers-storage:localhost/exampleos` or `oci:/path/to/ocidir`
-h, --help
Print help
$ rpm-ostree compose commit --help
Usage:
rpm-ostree compose commit [OPTION…] TREEFILE ROOTFS
Commit a target path to an OSTree repository
Help Options:
-h, --help Show help options
Application Options:
--unified-core Use new "unified core" codepath
-r, --repo=REPO Path to OSTree repository
--layer-repo=REPO Path to OSTree repository for ostree-layers and ostree-override-layers
--add-metadata-string=KEY=VALUE Append given key and value (in string format) to metadata
--add-metadata-from-json=JSON Parse the given JSON file as object, convert to GVariant, append to OSTree commit
--write-commitid-to=FILE File to write the composed commitid to instead of updating the ref
--write-composejson-to=FILE Write JSON to FILE containing information about the compose run
--no-parent Always commit without a parent
--parent=REV Commit with specific parent
--version Print version information and exit
-q, --quiet Avoid printing most informational messages
$ rpm-ostree compose container-encapsulate --help
Usage: container-encapsulate [OPTIONS] --repo <REPO> <OSTREE_REF> <IMGREF>
Arguments:
<OSTREE_REF> OSTree branch name or checksum
<IMGREF> Image reference, e.g. registry:quay.io/exampleos/exampleos:latest
Options:
--repo <REPO>
-l, --label <label>
Additional labels for the container
--image-config <IMAGE_CONFIG>
Path to container image configuration in JSON format. This is the `config` field of https://github.com/opencontainers/image-spec/blob/main/config.md
--arch <ARCH>
Override the architecture
--copymeta <copymeta>
Propagate an OSTree commit metadata key to container label
--copymeta-opt <copymeta-opt>
Propagate an optionally-present OSTree commit metadata key to container label
--cmd <CMD>
Corresponds to the Dockerfile `CMD` instruction
--max-layers <MAX_LAYERS>
Maximum number of container image layers
--format-version <FORMAT_VERSION>
The encapsulated container format version; must be 1 or 2 [default: 1]
--write-contentmeta-json <WRITE_CONTENTMETA_JSON>
Output content metadata as JSON
--compare-with-build <compare-with-build>
Compare OCI layers of current build with another(imgref)
--previous-build-manifest <PREVIOUS_BUILD_MANIFEST>
Prevent a change in packing structure by taking a previous build metadata (oci config and manifest)
-h, --help
Print help
$ rpm-ostree compose extensions --help
Usage:
rpm-ostree compose extensions [OPTION…] TREEFILE EXTYAML
Download RPM packages guaranteed to depsolve with a base OSTree
Help Options:
-h, --help Show help options
Application Options:
--unified-core Use new "unified core" codepath
-r, --repo=REPO Path to OSTree repository
--layer-repo=REPO Path to OSTree repository for ostree-layers and ostree-override-layers
--output-dir=PATH Path to extensions output directory
--base-rev=REV Base OSTree revision
--cachedir=CACHEDIR Cached state
--rootfs=ROOTFS Path to already present rootfs
--touch-if-changed=FILE Update the modification time on FILE if new extensions were downloaded
--version Print version information and exit
-q, --quiet Avoid printing most informational messages
$ rpm-ostree compose image --help
Usage: baseimage [OPTIONS] <MANIFEST> <OUTPUT>
Arguments:
<MANIFEST>
Path to the manifest file
<OUTPUT>
Target path to write
Options:
--cachedir <CACHEDIR>
Directory to use for caching downloaded packages and other data
--source-root <SOURCE_ROOT>
Rootfs to use for resolving package system configuration, such as the yum repository configuration, releasever, etc
--authfile <AUTHFILE>
Container authentication file
--layer-repo <LAYER_REPO>
OSTree repository to use for `ostree-layers` and `ostree-override-layers`
-i, --initialize
Do not query previous image in target location; use this for the first build
--initialize-mode <INITIALIZE_MODE>
Control conditions under which the image is written
[default: query]
Possible values:
- query: Require the image to already exist. For backwards compatibility reasons, this is the default
- always: Always overwrite the target image, even if it already exists and there were no changes
- never: Error out if the target image does not already exist
- if-not-exists: Initialize if the target image does not already exist
--format <FORMAT>
[default: ociarchive]
[possible values: ociarchive, oci, registry]
--force-nocache
Force a build
--offline
Operate only on cached data, do not access network repositories
--write-lockfile-to <WRITE_LOCKFILE_TO>
Path to write a JSON-formatted lockfile
--lockfile <LOCKFILES>
JSON-formatted lockfile; can be specified multiple times
--lockfile-strict
With --lockfile, only allow installing locked packages
-l, --label <label>
Additional labels for the container image, in KEY=VALUE format
--image-config <IMAGE_CONFIG>
Path to container image configuration in JSON format. This is the `config` field of https://github.com/opencontainers/image-spec/blob/main/config.md
--touch-if-changed <TOUCH_IF_CHANGED>
Update the timestamp or create this file on changes
--copy-retry-times <COPY_RETRY_TIMES>
Number of times to retry copying an image to remote destination (e.g. registry)
--max-layers <MAX_LAYERS>
Maximum number of layers to use. The default value of 64 is chosen to balance splitting up an image into sufficient chunks versus compatibility with older OCI runtimes that may have problems with larger number of layers. However, with recent podman 5 for example with newer overlayfs, it works to use over 200 layers
-h, --help
Print help (see a summary with '-h')
$ rpm-ostree compose install --help
Usage:
rpm-ostree compose install [OPTION…] TREEFILE DESTDIR
Install packages into a target path
Help Options:
-h, --help Show help options
Application Options:
--unified-core Use new "unified core" codepath
-r, --repo=REPO Path to OSTree repository
--layer-repo=REPO Path to OSTree repository for ostree-layers and ostree-override-layers
--force-nocache Always create a new OSTree commit, even if nothing appears to have changed
--cache-only Assume cache is present, do not attempt to update it
--cachedir=CACHEDIR Cached state
--source-root=PATH Rootfs to use for configuring libdnf, such as releasever, dnf variables, and input rpm-md repositories.
--download-only Like --dry-run, but download and import RPMs as well; requires --cachedir
--download-only-rpms Like --dry-run, but download RPMs as well; requires --cachedir
--proxy=PROXY HTTP proxy
--dry-run Just print the transaction and exit
--print-only Just expand any includes and print treefile
--disable-selinux Disable SELinux labeling, even if manifest enables it
--touch-if-changed=FILE Update the modification time on FILE if a new commit was created
--previous-commit=COMMIT Use this commit for change detection
--previous-inputhash=DIGEST Use this input hash for change detection
--previous-version=VERSION Use this version number for automatic version numbering
--workdir=WORKDIR Working directory
--postprocess Also run default postprocessing
--ex-write-lockfile-to=FILE Write lockfile to FILE
--ex-lockfile=FILE Read lockfile from FILE
--ex-lockfile-strict With --ex-lockfile, only allow installing locked packages
--version Print version information and exit
-q, --quiet Avoid printing most informational messages
$ rpm-ostree compose postprocess --help
Usage:
rpm-ostree compose postprocess [OPTION…] ROOTFS [TREEFILE]
Perform final postprocessing on an installation root
Help Options:
-h, --help Show help options
Application Options:
--unified-core Use new "unified core" codepath
--version Print version information and exit
-q, --quiet Avoid printing most informational messages
$ rpm-ostree compose rootfs --help
Generate a filesystem tree from an input manifest. This can then be copied into e.g. a `FROM scratch` container image build
Usage: rpm-ostree [OPTIONS] <MANIFEST> <DEST>
Arguments:
<MANIFEST>
Path to the input manifest
<DEST>
Path to the target root filesystem tree
Options:
--cachedir <CACHEDIR>
Directory to use for caching downloaded packages and other data
--source-root <SOURCE_ROOT>
Source root for package system configuration
--source-root-rw <SOURCE_ROOT_RW>
Rootfs to use for resolving package system configuration, such as the yum repository configuration, releasever, etc.
The source root may be mutated to work around bugs.
-h, --help
Print help (see a summary with '-h')
$ rpm-ostree compose tree --help
Usage:
rpm-ostree compose tree [OPTION…] TREEFILE
Process a "treefile"; install packages and commit the result to an OSTree repository
Help Options:
-h, --help Show help options
Application Options:
--unified-core Use new "unified core" codepath
-r, --repo=REPO Path to OSTree repository
--layer-repo=REPO Path to OSTree repository for ostree-layers and ostree-override-layers
--force-nocache Always create a new OSTree commit, even if nothing appears to have changed
--cache-only Assume cache is present, do not attempt to update it
--cachedir=CACHEDIR Cached state
--source-root=PATH Rootfs to use for configuring libdnf, such as releasever, dnf variables, and input rpm-md repositories.
--download-only Like --dry-run, but download and import RPMs as well; requires --cachedir
--download-only-rpms Like --dry-run, but download RPMs as well; requires --cachedir
--proxy=PROXY HTTP proxy
--dry-run Just print the transaction and exit
--print-only Just expand any includes and print treefile
--disable-selinux Disable SELinux labeling, even if manifest enables it
--touch-if-changed=FILE Update the modification time on FILE if a new commit was created
--previous-commit=COMMIT Use this commit for change detection
--previous-inputhash=DIGEST Use this input hash for change detection
--previous-version=VERSION Use this version number for automatic version numbering
--workdir=WORKDIR Working directory
--postprocess Also run default postprocessing
--ex-write-lockfile-to=FILE Write lockfile to FILE
--ex-lockfile=FILE Read lockfile from FILE
--ex-lockfile-strict With --ex-lockfile, only allow installing locked packages
--add-metadata-string=KEY=VALUE Append given key and value (in string format) to metadata
--add-metadata-from-json=JSON Parse the given JSON file as object, convert to GVariant, append to OSTree commit
--write-commitid-to=FILE File to write the composed commitid to instead of updating the ref
--write-composejson-to=FILE Write JSON to FILE containing information about the compose run
--no-parent Always commit without a parent
--parent=REV Commit with specific parent
--version Print version information and exit
-q, --quiet Avoid printing most informational messages