..
Copyright Contributors to the libdnf project.
This file is part of libdnf: https://github.com/rpm-software-management/libdnf/
Libdnf is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
Libdnf is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with libdnf. If not, see .
.. _system-upgrade_command_ref-label:
#######################
System-Upgrade Command
#######################
Synopsis
========
``dnf5 system-upgrade [options]``
Description
===========
The ``system-upgrade`` command is used to upgrade the system to a new major release. First, the ``download`` subcommand downloads packages while the system is running normally. Then, the ``reboot`` subcommand reboots the system into a minimal "offline" environment to apply the upgrades.
``dnf5 system-upgrade`` is a recommended way to upgrade a system to a new major release. Before you proceed, ensure that your system is fully upgraded (``dnf5 --refresh upgrade``).
``system-upgrade`` shares many subcommands with the :ref:`offline subcommand `.
Subcommands
===========
``clean``
| See :manpage:`dnf5-offline(8)`, :ref:`Offline command `
``download``
| Downloads all packages needed to upgrade to a new major release and checks that they can be installed.
``log``
| See :manpage:`dnf5-offline(8)`, :ref:`Offline command `
``reboot``
| See :manpage:`dnf5-offline(8)`, :ref:`Offline command `
Options
=======
``--releasever=``
| Required. The version to upgrade to. Sets ``$releasever`` in all enabled repos. Usually a number, or ``rawhide``.
``--no-downgrade``
| Behave like ``dnf5 update``: do not install packages from the new release if they are older than what is currently installed. This is the opposite of the default behavior, which behaves like ``dnf5 distro-sync``, always installing packages from the new release, even if they are older than the currently-installed version.
``--allowerasing``
| Allow removing of installed packages to resolve any potential dependency problems.
``--number=``
| See :manpage:`dnf5-offline(8)`, :ref:`Offline command `
``--poweroff``
| See :manpage:`dnf5-offline(8)`, :ref:`Offline command `
Environment
===========
See :manpage:`dnf5-offline(8)`, :ref:`Offline command `.
Examples
========
Typical upgrade usage
---------------------
``dnf5 --refresh upgrade``
``dnf5 system-upgrade download --releasever 40``
``dnf5 system-upgrade reboot``
Show logs from last upgrade attempt
-----------------------------------
``dnf5 system-upgrade log --number=-1``
See Also
========
| :manpage:`dnf5-offline(8)`, :ref:`Offline command `
| https://www.freedesktop.org/wiki/Software/systemd/SystemUpdates