Reference

ostree-checkout(1)

Check out a commit into a filesystem

NAME

ostree-checkout - Check out a commit into a filesystem

SYNOPSIS

ostree checkout [OPTIONS...] {COMMIT} [DESTINATION]

DESCRIPTION

Checks out the given commit into the filesystem under directory DESTINATION. If DESTINATION is not specified, the COMMIT will become the destination checkout target. If COMMIT destination already exists, command will error unless --union option is selected.

OPTIONS

--user-mode, -U

Do not change file ownership or initialize extended attributes.

--subpath="PATH"

Checkout sub-directory PATH.

--union

Keep existing directories and unchanged files, overwrite existing files.

--union-add

Keep existing directories and files.

--union-identical

Like --union, but error out if a file would be replaced with a different file. Add new files and directories, ignore identical files, and keep existing directories. Requires -H.

--whiteouts

Process whiteout files (Docker style).

--process-passthrough-whiteouts

Enable overlayfs whiteout extraction into 0:0 character devices. Overlayfs whiteouts are encoded inside ostree as .ostree-wh.filename and extracted as 0:0 character devices. This is useful to carry container storage embedded into ostree.

--allow-noent

Do nothing if specified path does not exist.

--from-stdin

Process many checkouts from standard input.

--from-file="FILE"

Process many checkouts from input file.

--fsync="POLICY"

POLICY is a boolean which specifies whether fsync should be used or not. Default to true.

--force-copy-zerosized, -z

This option does nothing; the functionality is now always on by default.

--force-copy, -C

Never hardlink (but may reflink if available).

--bareuseronly-dirs, -M

Suppress mode bits outside of 0775 for directories (suid, world writable, etc.).

--skip-list="FILE"

Skip checking out the absolute file paths listed in FILE, one per line.

--selinux-policy

Set SELinux labels based on policy in root filesystem PATH (may be /). This implies --force-copy.

--composefs

Only generate a composefs, not a directory.

--composefs-noverity

Only generate a composefs, not a directory; fsverity digests will not be included. This is best used for "opportunistic" use of composefs.

EXAMPLE

$ ostree checkout my-branch

$ ls

        file1    file2    my-branch

History

--bareuseronly-dirs since Debian 11 (Bullseye); --composefs since Debian 13 (Trixie); --composefs-noverity since Debian 13 (Trixie); --force-copy since Debian 11 (Bullseye); --force-copy-zerosized since Debian 11 (Bullseye); --fsync since Debian 11 (Bullseye); --process-passthrough-whiteouts since Debian 12 (Bookworm); --require-hardlinks since Debian 11 (Bullseye); --selinux-policy since Debian 11 (Bullseye); --skip-list since Debian 11 (Bullseye); --union-add since Debian 10 (Buster); --union-identical since Debian 10 (Buster); --whiteouts since Debian 11 (Bullseye); -C since Debian 11 (Bullseye); -H since Debian 11 (Bullseye); -M since Debian 11 (Bullseye); -U since Debian 11 (Bullseye); -z since Debian 11 (Bullseye).

-u until Debian 10 (Buster).