Click on each book below to review & buy on Amazon.
As an Amazon Associate, I earn from qualifying purchases.
RHCSA - Deploy, Configure, & Maintain Systems: Install & Update Software Packages From Red Hat Network, a Remote Repository, or From the Local File System
Package management on Red Hat systems primarily revolves around the Red Hat Package Manager (RPM) and the Dandified YUM (DNF) tools. These tools help you install, update, and manage software packages on Red Hat-based Linux distributions.
DNF is the successor to YUM (Yellow-Dog Updater Modified).
Red Hat Package Manager (RPM)
Red Hat Package Manager (RPM) is a core component of package management in Red Hat-based Linux distributions. It enables the creation, installation, querying, updating, and removal of software packages in the .rpm
format. RPM allows users to manage individual packages directly, handling binaries, libraries, documentation, and metadata.
The below table details some common rpm
command options and what they are used for:
Command Option | Description |
---|---|
-i , --install |
Install a package. |
-U , --upgrade |
Upgrade a package if it's already installed, or install if not present. |
-q , --query |
Query information about a package. On it own, it shows the installed package version, however; -qi shows detailed information and -ql list all files provided by the package. |
-e , --erase |
Remove (uninstall) a package. |
-v , --verbose |
Increase verbosity of output for more detailed information. |
--test |
Test a package installation or upgrade without making actual changes. |
It is recommended that you use dnf
to install rpm
packages, even if you have downloaded them manually. dnf
will automatically try to resolve any dependency and will ensure both the rpm
and dnf
databases are updated.
Dandified Yellow-Dog Updater Modified (DNF)
Dandified Yellow-Dog Updater Modified (DNF) is a modern package manager and software distribution tool primarily designed for Linux distributions, succeeding the earlier YUM package manager. DNF streamlines the process of installing, updating, and removing software packages, enhancing system performance and reliability. It features a more efficient dependency resolution algorithm, faster execution speed, and improved compatibility with various package formats.
The command used to work with software packages in Red Hat is dnf
, and the below table details some of the most common sub commands:
Sub-Command | Description |
---|---|
clean | Removes cached package data and temporary files, helping to free up disk space. |
group install | Installs all packages belonging to a specified package group, streamlining the installation of multiple packages at once. |
group list | Lists available package groups, providing an overview of available software categories for installation. |
info | Displays detailed information about a specific package, including its version, dependencies, and other metadata. |
install | Installs one or more specified packages onto the system, resolving and installing their dependencies as well. |
list all | Lists all available packages in the repository, aiding in exploring the entire package catalog. |
list installed | Displays a list of packages that are currently installed on the system, assisting in package management and system overview. |
provides | Finds which packages provide a specified file or capability, helping to identify packages responsible for particular functionality. |
remove | Uninstalls specified packages from the system, ensuring that their dependencies are properly handled and unused files are removed. |
search | Searches the repository for packages matching specified keywords, assisting in discovering software packages based on search terms. |
search all | Extends the search functionality to include package descriptions, making it easier to find packages based on specific terms mentioned in their descriptions. |
update | Upgrades installed packages to their latest versions, ensuring the system remains up-to-date with the latest software releases. |
Install & Update From Red Hat Network
If you have been following along with the course, your system will already be registered to the Red Hat Network to be able to download and update packages from their provided repositories.
If you have installed Red Hat 9 but have not attached a subscription, you can do so by running sudo subscription-manager attach --auto
. This will prompt for your username and password related to your Red Hat account.
If you do not have a valid subscription, a free option is the Red Hat Developer Subscription for Individuals.
Installing and updating packages is done using the install
and update
commands to dnf
. The -y
option is useful to automatically answer yes
to any questions that get asked.
The following exercises will get you using the dnf
command on individual packages:
Install the iotop
package:
Install the latest version of iotop
:
sudo dnf -y install iotop
The installation will display similar to:
Updating Subscription Management repositories.
Last metadata expiration check: 0:37:41 ago on Sun 13 Aug 2023 09:09:59 BST.
Dependencies resolved.
=================================================================================
Package Arch Version Repository Size
=================================================================================
Installing:
iotop noarch 0.6-30.el9 rhel-9-for-x86_64-baseos-rpms 71 k
Transaction Summary
=================================================================================
Install 1 Package
Total download size: 71 k
Installed size: 173 k
Downloading Packages:
iotop-0.6-30.el9.noarch.rpm 241 kB/s | 71 kB 00:00
---------------------------------------------------------------------------------
Total 240 kB/s | 71 kB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : iotop-0.6-30.el9.noarch 1/1
Running scriptlet: iotop-0.6-30.el9.noarch 1/1
Verifying : iotop-0.6-30.el9.noarch 1/1
Installed products updated.
Installed:
iotop-0.6-30.el9.noarch
Complete!
Install an older version of the nmap
package, then update it:
Determine the available versions of nmap
:
dnf provides nmap
In my case, the versions available are 3:7.91-10
and 3:7.91-12
:
Not root, Subscription Management repositories not updated
Last metadata expiration check: 0:08:27 ago on Sun 13 Aug 2023 09:38:18 BST.
nmap-3:7.91-10.el9.x86_64 : Network exploration tool and security scanner
Repo : rhel-9-for-x86_64-appstream-rpms
Matched from:
Provide : nmap = 3:7.91-10.el9
nmap-3:7.91-12.el9.x86_64 : Network exploration tool and security scanner
Repo : rhel-9-for-x86_64-appstream-rpms
Matched from:
Provide : nmap = 3:7.91-12.el9
Install the older version of nmap
:
Ensure to update the command with the older version as displayed by you running dnf provides nmap
.
sudo dnf -y install nmap-3:7.91-10.el9.x86_64
Notice how the output will install nmap
to our specified version, but will downgrade the existing nmpa-ncat
package to keep them aligned:
Updating Subscription Management repositories.
Last metadata expiration check: 0:38:21 ago on Sun 13 Aug 2023 09:09:59 BST.
Dependencies resolved.
=================================================================================
Package Arch Version Repository Size
=================================================================================
Installing:
nmap x86_64 3:7.91-10.el9 rhel-9-for-x86_64-appstream-rpms 5.6 M
Downgrading:
nmap-ncat x86_64 3:7.91-10.el9 rhel-9-for-x86_64-appstream-rpms 230 k
Transaction Summary
=================================================================================
Install 1 Package
Downgrade 1 Package
Total download size: 5.8 M
Downloading Packages:
(1/2): nmap-ncat-7.91-10.el9.x86_64.rpm 516 kB/s | 230 kB 00:00
(2/2): nmap-7.91-10.el9.x86_64.rpm 8.2 MB/s | 5.6 MB 00:00
---------------------------------------------------------------------------------
Total 8.5 MB/s | 5.8 MB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Downgrading : nmap-ncat-3:7.91-10.el9.x86_64 1/3
Running scriptlet: nmap-ncat-3:7.91-10.el9.x86_64 1/3
Installing : nmap-3:7.91-10.el9.x86_64 2/3
Running scriptlet: nmap-ncat-3:7.91-12.el9.x86_64 3/3
Cleanup : nmap-ncat-3:7.91-12.el9.x86_64 3/3
Running scriptlet: nmap-ncat-3:7.91-12.el9.x86_64 3/3
Verifying : nmap-ncat-3:7.91-10.el9.x86_64 1/3
Verifying : nmap-ncat-3:7.91-12.el9.x86_64 2/3
Verifying : nmap-3:7.91-10.el9.x86_64 3/3
Installed products updated.
Downgraded:
nmap-ncat-3:7.91-10.el9.x86_64
Installed:
nmap-3:7.91-10.el9.x86_64
Complete!
As you installed an older version of nmap
, you can now update the a package:
sudo dnf -y update nmap
In updating nmap
, the nmap-ncat
package also gets updated:
Updating Subscription Management repositories.
Last metadata expiration check: 0:38:54 ago on Sun 13 Aug 2023 09:09:59 BST.
Dependencies resolved.
=================================================================================
Package Arch Version Repository Size
=================================================================================
Upgrading:
nmap x86_64 3:7.91-12.el9 rhel-9-for-x86_64-appstream-rpms 5.6 M
nmap-ncat x86_64 3:7.91-12.el9 rhel-9-for-x86_64-appstream-rpms 229 k
Transaction Summary
=================================================================================
Upgrade 2 Packages
Total download size: 5.8 M
Downloading Packages:
(1/2): nmap-ncat-7.91-12.el9.x86_64.rpm 517 kB/s | 229 kB 00:00
(2/2): nmap-7.91-12.el9.x86_64.rpm 7.3 MB/s | 5.6 MB 00:00
---------------------------------------------------------------------------------
Total 7.6 MB/s | 5.8 MB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Upgrading : nmap-ncat-3:7.91-12.el9.x86_64 1/4
Running scriptlet: nmap-ncat-3:7.91-12.el9.x86_64 1/4
Upgrading : nmap-3:7.91-12.el9.x86_64 2/4
Cleanup : nmap-3:7.91-10.el9.x86_64 3/4
Running scriptlet: nmap-ncat-3:7.91-10.el9.x86_64 4/4
Cleanup : nmap-ncat-3:7.91-10.el9.x86_64 4/4
Running scriptlet: nmap-ncat-3:7.91-10.el9.x86_64 4/4
Verifying : nmap-ncat-3:7.91-12.el9.x86_64 1/4
Verifying : nmap-ncat-3:7.91-10.el9.x86_64 2/4
Verifying : nmap-3:7.91-12.el9.x86_64 3/4
Verifying : nmap-3:7.91-10.el9.x86_64 4/4
Installed products updated.
Upgraded:
nmap-3:7.91-12.el9.x86_64 nmap-ncat-3:7.91-12.el9.x86_64
Complete!
Remove the nmap
& iotop
packages:
sudo dnf -y remove nmap iotop
The output shows the packages being removed:
Updating Subscription Management repositories.
Dependencies resolved.
=================================================================================
Package Arch Version Repository Size
=================================================================================
Removing:
iotop noarch 0.6-30.el9 @rhel-9-for-x86_64-baseos-rpms 173 k
nmap x86_64 3:7.91-12.el9 @rhel-9-for-x86_64-appstream-rpms 24 M
Transaction Summary
=================================================================================
Remove 2 Packages
Freed space: 24 M
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Erasing : iotop-0.6-30.el9.noarch 1/2
Erasing : nmap-3:7.91-12.el9.x86_64 2/2
Running scriptlet: nmap-3:7.91-12.el9.x86_64 2/2
Verifying : iotop-0.6-30.el9.noarch 1/2
Verifying : nmap-3:7.91-12.el9.x86_64 2/2
Installed products updated.
Removed:
iotop-0.6-30.el9.noarch nmap-3:7.91-12.el9.x86_64
Complete!
You have now used dnf
to install, update and remove individual packages, however you will want to ensure you patch your system up-to-date on a regular basis by updating all packages:
Update all packages on a system:
First you will want to check which packages will be updated:
sudo dnf check-update
In my case, there is only a few that require updating:
Updating Subscription Management repositories.
Last metadata expiration check: 0:44:56 ago on Sun 13 Aug 2023 09:09:59 BST.
dbus.x86_64 1:1.12.20-7.el9_2.1 rhel-9-for-x86_64-baseos-rpms
dbus-common.noarch 1:1.12.20-7.el9_2.1 rhel-9-for-x86_64-baseos-rpms
dbus-daemon.x86_64 1:1.12.20-7.el9_2.1 rhel-9-for-x86_64-appstream-rpms
dbus-libs.x86_64 1:1.12.20-7.el9_2.1 rhel-9-for-x86_64-baseos-rpms
dbus-tools.x86_64 1:1.12.20-7.el9_2.1 rhel-9-for-x86_64-baseos-rpms
firefox.x86_64 102.14.0-2.el9_2 rhel-9-for-x86_64-appstream-rpms
If you are happy with the returned list, you can update all of them:
sudo dnf -y update
The output can be very long so I have trimmed it for readability:
Updating Subscription Management repositories.
Last metadata expiration check: 0:46:56 ago on Sun 13 Aug 2023 09:09:59 BST.
Dependencies resolved.
=================================================================================
Package Arch Version Repository Size
=================================================================================
Upgrading:
dbus x86_64 1:1.12.20-7.el9_2.1 rhel-9-for-x86_64-baseos-rpms 7.9 k
dbus-common noarch 1:1.12.20-7.el9_2.1 rhel-9-for-x86_64-baseos-rpms 18 k
dbus-daemon x86_64 1:1.12.20-7.el9_2.1 rhel-9-for-x86_64-appstream-rpms 205 k
dbus-libs x86_64 1:1.12.20-7.el9_2.1 rhel-9-for-x86_64-baseos-rpms 154 k
dbus-tools x86_64 1:1.12.20-7.el9_2.1 rhel-9-for-x86_64-baseos-rpms 56 k
firefox x86_64 102.14.0-2.el9_2 rhel-9-for-x86_64-appstream-rpms 107 M
Transaction Summary
=================================================================================
Upgrade 6 Packages
Total download size: 108 M
Downloading Packages:
(1/6): dbus-common-1.12.20-7.el9_2.1.noarch.rpm 71 kB/s | 18 kB 00:00
(2/6): dbus-1.12.20-7.el9_2.1.x86_64.rpm 30 kB/s | 7.9 kB 00:00
(3/6): dbus-libs-1.12.20-7.el9_2.1.x86_64.rpm 456 kB/s | 154 kB 00:00
(4/6): dbus-tools-1.12.20-7.el9_2.1.x86_64.rpm 323 kB/s | 56 kB 00:00
(5/6): dbus-daemon-1.12.20-7.el9_2.1.x86_64.rpm 885 kB/s | 205 kB 00:00
(6/6): firefox-102.14.0-2.el9_2.x86_64.rpm 24 MB/s | 107 MB 00:04
---------------------------------------------------------------------------------
Total 22 MB/s | 108 MB 00:04
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Upgrading : dbus-libs-1:1.12.20-7.el9_2.1.x86_64 1/12
Upgrading : dbus-tools-1:1.12.20-7.el9_2.1.x86_64 2/12
Upgrading : dbus-common-1:1.12.20-7.el9_2.1.noarch 3/12
Running scriptlet: dbus-common-1:1.12.20-7.el9_2.1.noarch 3/12
Running scriptlet: dbus-daemon-1:1.12.20-7.el9_2.1.x86_64 4/12
Upgrading : dbus-daemon-1:1.12.20-7.el9_2.1.x86_64 4/12
Running scriptlet: dbus-daemon-1:1.12.20-7.el9_2.1.x86_64 4/12
Upgrading : firefox-102.14.0-2.el9_2.x86_64 5/12
...
Running scriptlet: dbus-common-1:1.12.20-7.el9_1.noarch 11/12
Cleanup : dbus-common-1:1.12.20-7.el9_1.noarch 11/12
Running scriptlet: dbus-common-1:1.12.20-7.el9_1.noarch 11/12
Cleanup : dbus-libs-1:1.12.20-7.el9_1.x86_64 12/12
Running scriptlet: firefox-102.14.0-2.el9_2.x86_64 12/12
Running scriptlet: dbus-libs-1:1.12.20-7.el9_1.x86_64 12/12
Verifying : dbus-common-1:1.12.20-7.el9_2.1.noarch 1/12
...
Verifying : firefox-102.14.0-1.el9_2.x86_64 12/12
Installed products updated.
Upgraded:
dbus-1:1.12.20-7.el9_2.1.x86_64 dbus-common-1:1.12.20-7.el9_2.1.noarch
dbus-daemon-1:1.12.20-7.el9_2.1.x86_64 dbus-libs-1:1.12.20-7.el9_2.1.x86_64
dbus-tools-1:1.12.20-7.el9_2.1.x86_64 firefox-102.14.0-2.el9_2.x86_64
Complete!
Install & Update From Local Repository
In this exercise you will create a repository that contains only one package so that you can install that package, however creating repository is not a part of the exam objective.
Create a local repository:
Ensure the createrepo
command is installed:
sudo dnf -y install createrepo
Create a directory for the local repository to exist:
sudo mkdir -p /local_repo
Download the rpm
file that we want in the repository:
cd /local_repo
sudo dnf download https://yum.puppet.com/puppet8-release-el-9.noarch.rpm
Create the repository metadata:
sudo createrepo /local_repo
Enable the repository:
sudo dnf config-manager --nogpgcheck --add-repo=/local_repo
Disable the GPG Check:
sudo dnf config-manager --setopt=local_repo.gpgcheck=0
Now the repository has been created, you can install from that local repository:
Install puppet8-release
from local repository:
sudo dnf -y --nogpgcheck install puppet8-release
The output of the install should be similar to:
Updating Subscription Management repositories.
created by dnf config-manager from file:///local 2.9 MB/s | 3.0 kB 00:00
Dependencies resolved.
=================================================================================
Package Architecture Version Repository Size
=================================================================================
Installing:
puppet8-release noarch 1.0.0-3.el9 local_repo 9.3 k
Transaction Summary
=================================================================================
Install 1 Package
Total size: 9.3 k
Installed size: 3.5 k
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : puppet8-release-1.0.0-3.el9.noarch 1/1
Verifying : puppet8-release-1.0.0-3.el9.noarch 1/1
Installed products updated.
Installed:
puppet8-release-1.0.0-3.el9.noarch
Complete!
Updating a package from a local repo is the same command as usual (dnf update <package-name>
), however we only have one file in the repo so do not have an updated version to work on.
Remove the puppet8-release
package to tidy up:
Remove puppet8-release
package:
sudo dnf -y remove puppet8-release
The output will be similar to:
Updating Subscription Management repositories.
Dependencies resolved.
=================================================================================
Package Architecture Version Repository Size
=================================================================================
Removing:
puppet8-release noarch 1.0.0-3.el9 @local_repo 3.5 k
Transaction Summary
=================================================================================
Remove 1 Package
Freed space: 3.5 k
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Erasing : puppet8-release-1.0.0-3.el9.noarch 1/1
Verifying : puppet8-release-1.0.0-3.el9.noarch 1/1
Installed products updated.
Removed:
puppet8-release-1.0.0-3.el9.noarch
Complete!
Install & Update From Remote Repository
To install a remote repository you will need the URL provided by the repository maintainer. Using Puppet as an example, the Puppet 7 repository URL is https://yum.puppet.com/puppet7-release-el-9.noarch.rpm
.
The below exercises will have you install a remote repository, then install and update packages from it:
Install a remote repository:
sudo dnf -y install https://yum.puppet.com/puppet7-release-el-9.noarch.rpm
The output will show the installation taking place:
Updating Subscription Management repositories.
Last metadata expiration check: 0:11:50 ago on Sun 13 Aug 2023 10:19:04 BST.
puppet7-release-el-9.noarch.rpm 60 kB/s | 9.2 kB 00:00
Dependencies resolved.
=================================================================================
Package Architecture Version Repository Size
=================================================================================
Installing:
puppet7-release noarch 7.0.0-14.el9 @commandline 9.2 k
Transaction Summary
=================================================================================
Install 1 Package
Total size: 9.2 k
Installed size: 3.6 k
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : puppet7-release-7.0.0-14.el9.noarch 1/1
Verifying : puppet7-release-7.0.0-14.el9.noarch 1/1
Installed products updated.
Installed:
puppet7-release-7.0.0-14.el9.noarch
Complete!
Install an older version of the puppet-agent
package from the remote repository:
Determine available package versions:
sudo dnf provides puppet-agent
There will be many packages listed so the below shows the most recent two versions, which in my case are 7.24.0-1
& 7.25.0-1
:
Updating Subscription Management repositories.
Last metadata expiration check: 0:01:00 ago on Sun 13 Aug 2023 10:32:26 BST.
...
...
puppet-agent-7.24.0-1.el9.x86_64 : The Puppet Agent package contains all of the
...: elements needed to run puppet, including ruby, facter, and hiera.
Repo : puppet7
Matched from:
Provide : puppet-agent = 7.24.0-1.el9
puppet-agent-7.25.0-1.el9.x86_64 : The Puppet Agent package contains all of the
...: elements needed to run puppet, including ruby, facter, and hiera.
Repo : puppet7
Matched from:
Provide : puppet-agent = 7.25.0-1.el9
Install the older version of puppet-agent
:
Ensure to update the command with the older version as displayed by you running dnf provides puppet-agent
.
sudo dnf -y install puppet-agent-7.24.0-1.el9.x86_64
The install output should look similar to:
Updating Subscription Management repositories.
Last metadata expiration check: 0:04:58 ago on Sun 13 Aug 2023 10:32:26 BST.
Dependencies resolved.
=================================================================================
Package Architecture Version Repository Size
=================================================================================
Installing:
puppet-agent x86_64 7.24.0-1.el9 puppet7 21 M
Transaction Summary
=================================================================================
Install 1 Package
Total download size: 21 M
Installed size: 21 M
Downloading Packages:
puppet-agent-7.24.0-1.el9.x86_64.rpm 8.5 MB/s | 21 MB 00:02
---------------------------------------------------------------------------------
Total 8.5 MB/s | 21 MB 00:02
Puppet 7 Repository el 9 - x86_64 1.6 MB/s | 1.7 kB 00:00
Importing GPG key 0x9E61EF26:
Userid : "Puppet, Inc. Release Key (Puppet, Inc. Release Key) <release@puppet.com>"
Fingerprint: D681 1ED3 ADEE B844 1AF5 AA8F 4528 B6CD 9E61 EF26
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-2025-04-06-puppet7-release
Key imported successfully
Puppet 7 Repository el 9 - x86_64 1.6 MB/s | 1.6 kB 00:00
Importing GPG key 0xEF8D349F:
Userid : "Puppet, Inc. Release Key (Puppet, Inc. Release Key) <release@puppet.com>"
Fingerprint: 6F6B 1550 9CF8 E59E 6E46 9F32 7F43 8280 EF8D 349F
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-puppet7-release
Key imported successfully
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Running scriptlet: puppet-agent-7.24.0-1.el9.x86_64 1/1
Installing : puppet-agent-7.24.0-1.el9.x86_64 1/1
Running scriptlet: puppet-agent-7.24.0-1.el9.x86_64 1/1
Verifying : puppet-agent-7.24.0-1.el9.x86_64 1/1
Installed products updated.
Installed:
puppet-agent-7.24.0-1.el9.x86_64
Complete!
Update the puppet-agent
package from the remote repository:
sudo dnf -y update puppet-agent
The update should display similar to:
Updating Subscription Management repositories.
Last metadata expiration check: 0:07:03 ago on Sun 13 Aug 2023 10:32:26 BST.
Dependencies resolved.
=================================================================================
Package Architecture Version Repository Size
=================================================================================
Upgrading:
puppet-agent x86_64 7.25.0-1.el9 puppet7 21 M
Transaction Summary
=================================================================================
Upgrade 1 Package
Total download size: 21 M
Downloading Packages:
puppet-agent-7.25.0-1.el9.x86_64.rpm 20 MB/s | 21 MB 00:01
---------------------------------------------------------------------------------
Total 20 MB/s | 21 MB 00:01
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Running scriptlet: puppet-agent-7.25.0-1.el9.x86_64 1/2
Upgrading : puppet-agent-7.25.0-1.el9.x86_64 1/2
Running scriptlet: puppet-agent-7.25.0-1.el9.x86_64 1/2
Running scriptlet: puppet-agent-7.24.0-1.el9.x86_64 2/2
Cleanup : puppet-agent-7.24.0-1.el9.x86_64 2/2
Running scriptlet: puppet-agent-7.24.0-1.el9.x86_64 2/2
Running scriptlet: puppet-agent-7.25.0-1.el9.x86_64 2/2
Running scriptlet: puppet-agent-7.24.0-1.el9.x86_64 2/2
Verifying : puppet-agent-7.25.0-1.el9.x86_64 1/2
Verifying : puppet-agent-7.24.0-1.el9.x86_64 2/2
Installed products updated.
Upgraded:
puppet-agent-7.25.0-1.el9.x86_64
Complete!
The puppet-agent
package can now be removed:
Remove puppet-agent
package:
sudo dnf -y remove puppet-agent
Support DTV Linux
Click on each book below to review & buy on Amazon. As an Amazon Associate, I earn from qualifying purchases.
NordVPN ®: Elevate your online privacy and security. Grab our Special Offer to safeguard your data on public Wi-Fi and secure your devices. I may earn a commission on purchases made through this link.