OSTREE STATIC-DELTA(1) ostree static-delta OSTREE STATIC-DELTA(1)

.SH "NAME" ostree-static-delta - Manage static delta files

.SH "SYNOPSIS"

.HP 600u

**ostree static-delta list**

.HP 600u

**ostree static-delta show**

.HP 648u

**ostree static-delta delete**

.HP 696u

**ostree static-delta generate** {--to=REV} \[OPTIONS...]

.HP 816u

**ostree static-delta apply-offline** \[OPTIONS...] {PATH} \[KEY-ID...]

.HP 648u

**ostree static-delta verify** \[OPTIONS...] {STATIC-DELTA} \[KEY-ID...]

.SH "DESCRIPTION"

.PP List and manipulate static delta files.

.PP A delta generated with a signature (see **--sign-type** and **--sign** under 'Generate' Options) is written in a different on-disk format, in which the superblock is wrapped in a signed envelope. The **show** and **verify** subcommands read that envelope, but **ostree static-delta apply-offline** is the only command that can apply a delta wrapped in one. **ostree pull** parses a fetched superblock directly, so a pull that reaches for a signed delta fails with Invalid checksum of length 0 expected 32. A pull into an archive-mode repository does not reach that point, because such a pull does not use static deltas at all. Signed static deltas are therefore for offline application only, such as from removable media. A delta that will be served to **ostree pull** clients must be generated unsigned.

.SH "GENERATE OPTIONS"

.PP **--from**="REV"

Create delta from revision REV.

.RE

.PP **--to**="REV"

Create delta to revision REV. (This option is required.) The delta is from the parent of REV, unless specified otherwise by **--from** or **--empty**.

.RE

.PP **--empty**

Create delta from scratch.

.RE

.PP **--max-usize**=SIZE

Maximum uncompressed size in megabytes.

.RE

.PP **--sign-type**=ENGINE

Use particular signature engine. Currently available ed25519 and dummy signature types. The default is ed25519.

Signing a delta makes it applicable only by **ostree static-delta apply-offline**; see the Description above.

.RE

.PP **--sign**="KEY-ID"

There KEY-ID is:

.PP **for ed25519:**

base64-encoded secret key for signing.

.RE

.PP **for dummy:**

ASCII-string used as secret key.

.RE  
.sp

.RE

.SH "APPLY-OFFLINE OPTIONS"

.PP **KEY-ID**

.PP **for ed25519:**

base64-encoded public key for verifying.

.RE

.PP **for dummy:**

ASCII-string used as public key.

.RE  
.sp

.RE

.PP **--sign-type**=ENGINE

Use particular signature engine. Currently available ed25519 and dummy signature types.

.RE

.PP **--keys-file**

Read key(s) from file filename.

Valid for ed25519 signature type. For ed25519 this file must contain base64-encoded public key(s) per line for verifying.

.RE

.PP **--keys-dir**

Redefine the system path, where to search files and subdirectories with well-known and revoked keys.

.RE

.SH "VERIFY OPTIONS"

.PP **KEY-ID**

.PP **for ed25519:**

base64-encoded public key for verifying.

.RE

.PP **for dummy:**

ASCII-string used as public key.

.RE  
.sp

.RE

.PP **--sign-type**=ENGINE

Use particular signature engine. Currently available ed25519 and dummy signature types. The default is ed25519.

.RE

.PP **--keys-file**

Read key(s) from file filename.

Valid for ed25519 signature type. For ed25519 this file must contain base64-encoded public key(s) per line for verifying.

.RE

.PP **--keys-dir**

Redefine the system path, where to search files and subdirectories with well-known and revoked keys.

.RE

.SH "EXAMPLE"

.PP **$ ostree static-delta**

```


        (No static deltas)
```

OSTree

---

Document: ostree-static-delta(1) from ostree 2026.5-r0 (Chainguard OS)
Source: https://github.com/ostreedev/ostree
