mirror of
https://github.com/xcat2/confluent.git
synced 2026-04-11 19:31:32 +00:00
140 lines
3.9 KiB
Markdown
140 lines
3.9 KiB
Markdown
# imgutil(1) -- Work with confluent OS cloning and diskless images
|
|
|
|
## SYNOPSIS
|
|
|
|
`imgutil` `build` [<options>] <scratchdir>
|
|
`imgutil` `exec` [<options>] <scratchdir> [<cmd>...]
|
|
`imgutil` `unpack` <profilename> <scratchdir>
|
|
`imgutil` `pack` [<options>] <scratchdir> <profilename>
|
|
`imgutil` `capture` <node> <profilename>
|
|
|
|
## DESCRIPTION
|
|
|
|
**imgutil** is a utility for creating, managing, and deploying OS images for diskless boot and system cloning in a Confluent environment. It supports building images from scratch, capturing images from running systems, and packing/unpacking diskless profiles.
|
|
|
|
## COMMANDS
|
|
|
|
* `build`:
|
|
Build a new diskless image from scratch in the specified scratch directory.
|
|
|
|
* `exec`:
|
|
Start the specified scratch directory as a container and optionally run a command inside it.
|
|
|
|
* `unpack`:
|
|
Unpack a diskless image profile to a scratch directory for modification.
|
|
|
|
* `pack`:
|
|
Pack a scratch directory into a diskless profile that can be deployed.
|
|
|
|
* `capture`:
|
|
Capture an image for cloning from a running system.
|
|
|
|
## BUILD OPTIONS
|
|
|
|
* `-r`, `--addrepos` <repository>:
|
|
Repositories to add in addition to the main source. May be specified multiple times.
|
|
|
|
* `-p`, `--packagelist` <file>:
|
|
Filename of package list to replace default pkglist.
|
|
|
|
* `-a`, `--addpackagelist` <file>:
|
|
A list of additional packages to include. May be specified multiple times.
|
|
|
|
* `-s`, `--source` <directory>:
|
|
Directory to pull installation from, typically a subdirectory of `/var/lib/confluent/distributions`. By default, the repositories for the build system are used. For Ubuntu, this is not supported; the build system repositories are always used.
|
|
|
|
* `-y`, `--non-interactive`:
|
|
Avoid prompting for confirmation.
|
|
|
|
* `-v`, `--volume` <mount>:
|
|
Directory to make available in the build environment. `-v /` will cause it to be mounted in image as `/run/external/`. `-v /:/run/root` will override the target to be `/run/root`. Something like `/var/lib/repository:-` will cause it to mount to the identical path inside the image. May be specified multiple times.
|
|
|
|
* <scratchdir>:
|
|
Directory to build new diskless root in.
|
|
|
|
## EXEC OPTIONS
|
|
|
|
* `-v`, `--volume` <mount>:
|
|
Directory to make available in the build environment. `-v /` will cause it to be mounted in image as `/run/external/`. `-v /:/run/root` will override the target to be `/run/root`. May be specified multiple times.
|
|
|
|
* <scratchdir>:
|
|
Directory of an unpacked diskless root.
|
|
|
|
* <cmd>:
|
|
Optional command to run (defaults to a shell).
|
|
|
|
## UNPACK OPTIONS
|
|
|
|
* <profilename>:
|
|
The diskless OS profile to unpack.
|
|
|
|
* <scratchdir>:
|
|
Directory to extract diskless root to.
|
|
|
|
## PACK OPTIONS
|
|
|
|
* `-b`, `--baseprofile` <profile>:
|
|
Profile to copy extra info from. For example, to make a new version of an existing profile, reference the previous one as baseprofile.
|
|
|
|
* `-u`, `--unencrypted`:
|
|
Pack an unencrypted image rather than encrypting.
|
|
|
|
* <scratchdir>:
|
|
Directory containing diskless root.
|
|
|
|
* <profilename>:
|
|
The desired diskless OS profile name to pack the root into.
|
|
|
|
## CAPTURE OPTIONS
|
|
|
|
* <node>:
|
|
Node to capture image from.
|
|
|
|
* <profilename>:
|
|
Profile name for captured image.
|
|
|
|
## EXAMPLES
|
|
|
|
Build a diskless image from a distribution:
|
|
|
|
imgutil build -s alma-9.6-x86_64 /tmp/myimage
|
|
|
|
Execute a shell in an unpacked image:
|
|
|
|
imgutil exec /tmp/myimage
|
|
|
|
Execute a specific command in an image:
|
|
|
|
imgutil exec /tmp/myimage /bin/rpm -qa
|
|
|
|
Unpack an existing profile for modification:
|
|
|
|
imgutil unpack myprofile /tmp/myimage
|
|
|
|
Pack a modified image into a new profile:
|
|
|
|
imgutil pack /tmp/myimage myprofile-v2
|
|
|
|
Capture an image from a running node:
|
|
|
|
imgutil capture node01 production-image
|
|
|
|
## FILES
|
|
|
|
* `/var/lib/confluent/public/os/`:
|
|
Default location for OS profiles.
|
|
|
|
* `/var/lib/confluent/private/os/`:
|
|
Location for encrypted image keys and private data.
|
|
|
|
* `/var/lib/confluent/distributions/`:
|
|
Default location for installation sources.
|
|
|
|
## SEE ALSO
|
|
|
|
osdeploy(8)
|
|
|
|
## AUTHOR
|
|
|
|
Written for the Confluent project.
|