LEAPP(1)

πŸ“¦ version 0.22.0, in centos-stream 9

πŸ’… LEAPP(1) β€” like, the leapp manual but make it make sense

okay bestie, welcome to the leapp(1) man page, the user commands edition πŸŽ€ this is the CLI for upgrading between major OS versions, and yes it's as iconic as it sounds.


✨ NAME ✨

leapp β€” the command line interface for upgrades between major OS versions. that's the whole vibe. πŸ’«


πŸ¦‹ SYNOPSIS πŸ¦‹

leapp [-h|--help] [--version] <command> [command options]

🌸 DESCRIPTION 🌸

so leapp is a command line utility for running specific workflows related to upgrading between major OS releases. currently it's able to perform upgrades from RHEL 7 to RHEL 8. no cap, that's the range. ✨


πŸŽ€ OPTIONS πŸŽ€

  • -h, --help β€” shows usage info and dips out. that's it, that's the whole job. πŸ‘‹
  • --version β€” shows the version number of the utility and exits. a little flex. πŸ’…

πŸ‘‘ COMMANDS πŸ‘‘

  • preupgrade β€” generates a pre-upgrade report. the lil dress rehearsal. πŸ“‹
  • upgrade β€” upgrades the current system to the next available major version. the main character moment. πŸ”₯
  • answer β€” manages answerfile generation: registers persistent user choices for specific dialog sections. it remembers stuff so you don't have to. 🧠
  • list-runs β€” lists previous leapp upgrade executions. receipts, basically. 🧾

🌈 COMMAND SPECIFIC OPTIONS 🌈

πŸ’œ preupgrade / upgrade

  • --debug β€” prints all available log messages (debug, info, warning, error, critical) and the output of executed commands to stderr. by default only error and critical level messages are printed. so yeah, this one is the firehose 🚿
  • --verbose β€” prints all but debug log messages (info, warning, error, critical) to stderr. by default only error and critical level messages are printed. middle ground, we love to see it. 🫢
  • --enablerepo <repoid> β€” enables the specified repository. can be used multiple times, stack 'em up. πŸ“š
  • --no-rhsm β€” skips actions that use Red Hat Subscription Manager. heads up: you'll also have to supply custom repositories through --enablerepo (see above). no skipping both, bestie. ⚠️
  • --whitelist-experimental <ActorName> β€” enables an experimental actor. can be used multiple times. to use this variable, LEAPP_UNSUPPORTED has to be set. see Developer variables for more info. πŸ§ͺ
  • --report-schema <version> β€” forces the report format to conform to a specific version of the report schema. expected values: 1.0.0, 1.1.0. defaults to 1.1.0. πŸ“
  • --reboot β€” (upgrade only) automatically performs a reboot when requested. it'll just do it. πŸŒ€
  • --resume β€” (upgrade only) continues the last execution after it was stopped (e.g. after reboot). pick up right where you left off. ⏯️

πŸ“ answer

  • --add β€” if set, sections will be created even if they're missing in the original answerfile. building from scratch, love that for you. βž•
  • --section <dialog_sections> β€” registers an answer for a specific section in the answerfile. can be used multiple times. πŸ—‚οΈ

🧚 ENVIRONMENT 🧚

if the argument for the environment variables below is not specified, it's possible to set them to either 1 (true) or 0 (false). they default to 0.

  • LEAPP_CONFIG β€” overrides the default location of leapp.conf. if not specified, .leapp/leapp.conf is used when the command is executed inside a leapp repository, otherwise the default /etc/leapp/leapp.conf is used. πŸ“
  • LEAPP_LOGGER_CONFIG β€” overrides the default location of logger.conf. if not specified, the default /etc/leapp/logger.conf is used. πŸ“„
  • LEAPP_ENABLE_REPOS β€” specifies repositories (repoids) split by comma, that should be used during the in-place upgrade to the target system. it's overwritten automatically in case the --enablerepo option of the leapp utility is used. it's recommended to use the --enablerepo option instead of the envar. (yes, the manpage is telling you to use the flag, listen to it 🫑)
  • LEAPP_DEBUG β€” enables debug logging. equivalent to --debug, which takes precedence. πŸ›
  • LEAPP_VERBOSE β€” enables debug logging. equivalent to --verbose, which takes precedence. (that's what the original says, we're not fixing it, we're just reporting it πŸ’€)
  • LEAPP_GRUB_DEVICE β€” overrides the automatically detected storage device with the GRUB core (e.g. /dev/sda). πŸ’Ύ
  • LEAPP_NO_RHSM β€” skips actions that use Red Hat Subscription Manager. equivalent to --no-rhsm, which takes precedence. πŸ™…β€β™€οΈ
  • LEAPP_OVL_SIZE β€” for each XFS partition created with ftype=0, leapp creates an overlay file in order to proceed. this option sets the size (in MB) of every such file. defaults to 2048. πŸ“
  • LEAPP_SERVICE_HOST β€” overrides the host of the service to which leapp connects to fetch necessary data files in case they're missing. the used protocol (http:// or https://) must be specified. defaults to https://cert.cloud.redhat.com. 🌐
  • LEAPP_PROXY_HOST β€” if set, leapp will use this proxy to fetch necessary data files in case they're missing. the used protocol (http:// or https://) must be specified. πŸ”€

πŸ§ͺ Developer variables

these variables shouldn't be needed under typical circumstances. translation: you probably don't need these, bestie, they're for the devs. πŸ™ˆ

  • LEAPP_UNSUPPORTED β€” necessary in case you use any variable starting with LEAPP_DEVEL (see below) or use --whitelist-experimental. by setting this variable to 1, you acknowledge that the upgrade is not going to be supported by Red Hat. that's a real acknowledgment, okay? ⚠️
  • LEAPP_DEVEL_RPMS_ALL_SIGNED β€” if set, leapp will consider all installed RPMs to be signed by Red Hat and upgrade them. by default, leapp only handles RPMs signed by Red Hat. what happens with RPMs not signed by Red Hat is undefined. like, genuinely undefined. proceed with caution πŸ’€
  • LEAPP_DEVEL_TARGET_RELEASE <version> β€” changes the default target RHEL 8 minor version. 🎯
  • LEAPP_DEVEL_SKIP_CHECK_OS_RELEASE β€” if set, leapp will not check whether the source RHEL 7 version is the supported one. skipping the vibe check, bold move. 🚩
  • LEAPP_DEVEL_DM_DISABLE_UDEV β€” disables udev support in libdevmapper, dmsetup and LVM2 tools globally without a need to modify any existing configuration settings. useful if the system environment does not use udev. 🧰
  • LEAPP_DEVEL_SOURCE_PRODUCT_TYPE <product_type> β€” specifies source product type. expected values: ga, beta, htb. defaults to ga. πŸ“¦
  • LEAPP_DEVEL_TARGET_PRODUCT_TYPE <product_type> β€” specifies target product type. expected values: ga, beta, htb. defaults to ga. πŸ“¦

πŸ”₯ EXIT CODES πŸ”₯

  • 0 β€” no error occurred. slay. ✨
  • 1 β€” any actor in a workflow reported an error (through calling report_error or raising StopActorExecutionError). 😭

πŸ› REPORTING BUGS πŸ›

report bugs to bugzilla (https://bugzilla.redhat.com) under the Red Hat Enterprise Linux 7 product and the leapp-repository component. please, we're begging, put it in the right component πŸ™


🌟 SEE ALSO 🌟


okay that's the whole page, go forth and upgrade responsibly 🫢✨

πŸ’– this has been leapp version 0.22.0, dated 2026-07-29, the LEAPP(1) of our hearts. mwah. πŸ’‹
πŸ“¦ where this page comes from