top of page
Writer's pictureSiddhesh Kadam

Linux Package Management



Linux package management involves the installation, removal, and management of software packages on a Linux system. Different Linux distributions use various package management tools, each with its own set of commands and procedures. Let's explore the details of package management for Centos/Rhel/Fedora Distribution.





Type Of Package Management.


1. Low-level package management :


Low-level package management involves the handling of individual software packages at a more granular level. It typically refers to the direct manipulation and control of package files, metadata, and installation procedures. In the context of Linux systems, this often involves the use of tool like RPM (Red Hat Package Manager).


2.High-level package management :


High-level package management refers to the use of tools or utilities that simplify and automate the process of installing, updating, and managing software packages on a computer system. These tools operate at a higher level of abstraction compared to low-level package management systems, providing users with a more user-friendly and automated experience. In the context of Linux systems, this often involves the use of tools like yum (Yellowdog Updater Modified) & dnf (Dandified yum)


 

RPM (Red Hat Package Manager) :


The rpm command in Linux is used for managing software packages in RPM (Red Hat Package Manager) format. RPM is the package management system used by many Linux distributions, including Red Hat, CentOS, Fedora, and others. The rpm command allows users to install, upgrade, query, verify, and remove software packages.


Below are some common uses of the rpm command.


1.Install a package.


[root@siddhesh ~]# rpm -ivh git-1.8.3.1-24.el7_9.x86_64.rpm perl-Git-1.8.3.1-24.el7_9.noarch.rpm
Preparing...                          ################################# [100%]
Updating / installing...
  1:perl-Git-1.8.3.1-24.el7_9        ################################# [ 50%]
  2:git-1.8.3.1-24.el7_9             ################################# [100%]
[root@siddhesh ~]#

-i: Install the package.

-v: Verbose mode (displays detailed information during installation).

-h: Display hash marks (progress indicators) during installation.


2.Upgrade a package.


[root@siddhesh ~]# rpm -Uvh perl-Git-1.8.3.1-25.el7_9.noarch.rpm git-1.8.3.1-25.el7_9.x86_64.rpm
Preparing...                          ################################# [100%]
Updating / installing...
   1:git-1.8.3.1-25.el7_9             ################################# [ 25%]
   2:perl-Git-1.8.3.1-25.el7_9        ################################# [ 50%]
Cleaning up / removing...
   3:git-1.8.3.1-24.el7_9             ################################# [ 75%]
   4:perl-Git-1.8.3.1-24.el7_9        ################################# [100%]
[root@siddhesh ~]#

-U: Upgrade the package. Execution Steps:

Preparing: RPM is preparing for the installation by checking dependencies and ensuring a clean installation environment.

Updating/Installing:

git-1.8.3.1-25.el7_9: Upgrading the git package to version 1.8.3.1, release 25.el7_9.

perl-Git-1.8.3.1-25.el7_9: Upgrading the perl-Git package to version 1.8.3.1, release 25.el7_9.

Cleaning Up/Removing:

git-1.8.3.1-24.el7_9: Cleaning up/removing the older version of the git package (1.8.3.1-24.el7_9).

perl-Git-1.8.3.1-24.el7_9: Cleaning up/removing the older version of the perl-Git package (1.8.3.1-24.el7_9).


Completion: The process completes, and the new versions of git and perl-Git are installed.


3. List of dependencies of the installed package.


[root@siddhesh ~]# rpm -q --requires  git-1.8.3.1-25.el7_9.x86_64
/bin/bash
/bin/sh
/usr/bin/perl
/usr/bin/python
less
libc.so.6()(64bit)
OUTPUT TRUNCATED
libcurl.so.4()(64bit)
libexpat.so.1()(64bit)
libpcre.so.1()(64bit)
libpthread.so.0()(64bit)
perl(Git)
rtld(GNU_HASH)
zlib >= 1.2
rpmlib(PayloadIsXz) <= 5.2-1
[root@siddhesh ~]#

The output shows the runtime dependencies of the git package version 1.8.3.1-25.el7_9 on the system.

4. List of dependencies of the rpm package (without installation).


[root@siddhesh ~]# rpm -q --requires -p git-1.8.3.1-25.el7_9.x86_64.rpm
/bin/bash
/bin/sh
/usr/bin/perl
/usr/bin/python
less
libc.so.6()(64bit)
OUTPUT TRUNCATED
libcurl.so.4()(64bit)
libexpat.so.1()(64bit)
libpcre.so.1()(64bit)
libpthread.so.0()(64bit)
perl(Git)
rtld(GNU_HASH)
zlib >= 1.2
rpmlib(PayloadIsXz) <= 5.2-1
[root@siddhesh ~]#

The output shows the dependencies of the git package version 1.8.3.1-25.el7_9 from the git-1.8.3.1-25.el7_9.x86_64.rpm package file.


5. Query Information from a Package File.


[root@siddhesh ~]# rpm -qip git-1.8.3.1-25.el7_9.x86_64.rpm
Name        : git
Version     : 1.8.3.1
Release     : 25.el7_9
Architecture: x86_64
Install Date: (not installed)
Group       : Development/Tools
Size        : 23265295
License     : GPLv2
Signature   : RSA/SHA256, Wed 24 May 2023 07:32:21 PM IST, Key ID 24c6a8a7f4a80eb5
Source RPM  : git-1.8.3.1-25.el7_9.src.rpm
Build Date  : Tue 23 May 2023 08:38:23 PM IST
Build Host  : x86-02.bsys.centos.org
Relocations : (not relocatable)
Packager    : CentOS BuildSystem <http://bugs.centos.org>
Vendor      : CentOS
URL         : http://git-scm.com/
Summary     : Fast Version Control System
Description :
Git is a fast, scalable, distributed revision control system with an
unusually rich command set that provides both high-level operations
and full access to internals.
The git rpm installs the core tools with minimal dependencies.  To
install all git packages, including tools for integrating with other
SCMs, install the git-all meta-package.
[root@siddhesh ~]#

The rpm -qip command, is used to display detailed information about an RPM package.


6. List Files in an Installed Package.


[root@siddhesh ~]# rpm -ql git-1.8.3.1-25.el7_9.x86_64
/etc/bash_completion.d
/etc/bash_completion.d/git
/usr/bin/git
/usr/bin/git-receive-pack
/usr/bin/git-shell
/usr/bin/git-upload-archive
/usr/bin/git-upload-pack
/usr/libexec/git-core
/usr/libexec/git-core/git
/usr/libexec/git-core/git-add
/usr/libexec/git-core/git-add--interactive
/usr/libexec/git-core/git-am
OUTPUT TRUNCATED
[root@siddhesh ~]#

The command rpm -ql git-1.8.3.1-25.el7_9.x86_64 lists the files installed by the git package version 1.8.3.1-25.el7_9.


7. Verify Package Integrity.


[root@siddhesh ~]# rpm -V git-1.8.3.1-25.el7_9.x86_64
[root@siddhesh ~]#

The rpm -V command is used to verify the integrity of installed files from an RPM package. When you run rpm -V followed by the package name, it checks the installed files against the RPM database to see if they have been modified in any way since installation.


No Output: If there is no output, it means that all the checked files are intact, and there have been no modifications.

Output Format: The output consists of a series of characters and flags, each representing a different attribute of the file. Here are some common flags:

S (file Size): The size of the file has changed.

M (file Mode): The file's permissions have changed.

5 (MD5 Checksum): The MD5 checksum of the file has changed.

L (readLink Path): The file is a symbolic link, and its target has changed.

U (User Ownership): The user ownership of the file has changed. T (TimeStamp): The timestamp of the file has changed. G (Group Ownership): The group ownership of the file has changed.


8. Reinstall a Package.


[root@siddhesh ~]# rpm -Uvh --replacepkgs git-1.8.3.1-25.el7_9.x86_64.rpm
Preparing...                          ################################# [100%]
Updating / installing...
    1:git-1.8.3.1-25.el7_9             ################################# [100%]
[root@siddhesh ~]#

The command you executed, rpm -Uvh --replacepkgs git-1.8.3.1-25.el7_9.x86_64.rpm, performs an upgrade of the Git package on your system using the RPM package manager.


9. List Documentation Files of an Installed Package.


[root@siddhesh ~]# rpm -qd git-1.8.3.1-25.el7_9.x86_64
/usr/share/doc/git-1.8.3.1/COPYING
/usr/share/doc/git-1.8.3.1/README
/usr/share/doc/git-1.8.3.1/RelNotes/1.5.0.1.txt
/usr/share/doc/git-1.8.3.1/RelNotes/1.5.0.2.txt
/usr/share/doc/git-1.8.3.1/RelNotes/1.5.0.3.txt
/usr/share/doc/git-1.8.3.1/RelNotes/1.5.0.4.txt
/usr/share/doc/git-1.8.3.1/RelNotes/1.5.0.5.txt
[root@siddhesh ~]#

The rpm -qd command is used to display the documentation files that are part of an installed RPM package.


10. List Configuration Files of an Installed Package.


[root@siddhesh ~]# rpm -qc nginx-1.20.1-10.el7.x86_64
/etc/logrotate.d/nginx
/etc/nginx/fastcgi.conf
/etc/nginx/fastcgi.conf.default
/etc/nginx/fastcgi_params
/etc/nginx/fastcgi_params.default
/etc/nginx/koi-utf
/etc/nginx/koi-win
/etc/nginx/mime.types
/etc/nginx/mime.types.default
/etc/nginx/nginx.conf
/etc/nginx/nginx.conf.default
/etc/nginx/scgi_params
/etc/nginx/scgi_params.default
/etc/nginx/uwsgi_params
/etc/nginx/uwsgi_params.default
/etc/nginx/win-utf
[root@siddhesh ~]#

The rpm -qc command is used to query and display the configuration files associated with an installed RPM package.


11. Remove a package.


[root@siddhesh ~]# rpm -ev perl-Git-1.8.3.1-25.el7_9.noarch git-1.8.3.1-25.el7_9.x86_64
Preparing packages...
git-1.8.3.1-25.el7_9.x86_64
perl-Git-1.8.3.1-25.el7_9.noarch
[root@siddhesh ~]#

The command rpm -ev perl-Git-1.8.3.1-25.el7_9.noarch git-1.8.3.1-25.el7_9.x86_64 is used to uninstall (erase) the specified RPM packages from your system.


12. Remove a package without checking dependencies.


[root@siddhesh ~]# rpm -ev perl-Git-1.8.3.1-25.el7_9.noarch
  error: Failed dependencies:
  perl(Git) is needed by (installed) git-1.8.3.1-25.el7_9.x86_64
      perl-Git = 1.8.3.1-25.el7_9 is needed by (installed) git-1.8.3.1-25.el7_9.x86_64
[root@siddhesh ~]# rpm -ev perl-Git-1.8.3.1-25.el7_9.noarch --nodeps
Preparing packages...
perl-Git-1.8.3.1-25.el7_9.noarch
[root@siddhesh ~]#

The command rpm -ev perl-Git-1.8.3.1-25.el7_9.noarch --nodeps is used to uninstall (erase) the specified RPM package (perl-Git) from your system without checking or resolving dependencies.


13. List Recently Installed RPM Packages.


[root@siddhesh ~]#  rpm -qa --last
git-1.8.3.1-25.el7_9.x86_64                   Sun 17 Dec 2023 11:42:26 AM IST
screen-4.1.0-0.27.20120314git3c2946.el7_9.x86_64 Sat 16 Dec 2023 05:23:42 PM IST
rpmdevtools-8.3-8.el7_9.noarch                Fri 15 Dec 2023 06:15:56 PM IST
oniguruma-6.8.2-2.el7.x86_64                  Tue 12 Dec 2023 04:33:44 PM IST
jq-1.6-2.el7.x86_64                           Tue 12 Dec 2023 04:33:44 PM IST
mongodb-org-database-7.0.3-1.el7.x86_64       Mon 27 Nov 2023 10:58:29 PM IST
mongodb-org-7.0.3-1.el7.x86_64                Mon 27 Nov 2023 10:58:29 PM IST
mongodb-org-server-7.0.3-1.el7.x86_64         Mon 27 Nov 2023 10:58:28 PM IST
[root@siddhesh ~]#

The command rpm -qa --last is used to list installed RPM packages along with their installation dates, showing the most recently installed packages at the top.


14. Query a file that belongs to which RPM Package.


[root@siddhesh ~]# rpm -qf /etc/nginx/nginx.conf
nginx-1.20.1-10.el7.x86_64
[root@siddhesh ~]#

The command rpm -qf /etc/nginx/nginx.conf is used to determine which RPM package owns (provides) the file located at /etc/nginx/nginx.conf. In this case, the output indicates that the file is owned by the Nginx package version 1.20.1-10.el7.x86_64.


15. List the files and directories contained in the specified RPM package.


[root@siddhesh ~]# rpm -qlp perl-Git-1.8.3.1-25.el7_9.noarch.rpm
/usr/share/man/man3/Git.3pm.gz
/usr/share/man/man3/Git::I18N.3pm.gz
/usr/share/perl5/vendor_perl/Git
/usr/share/perl5/vendor_perl/Git.pm
/usr/share/perl5/vendor_perl/Git/I18N.pm
/usr/share/perl5/vendor_perl/Git/IndexInfo.pm
[root@siddhesh ~]#

The command rpm -qlp perl-Git-1.8.3.1-25.el7_9.noarch.rpm is used to list the files and directories contained in the specified RPM package file (perl-Git-1.8.3.1-25.el7_9.noarch.rpm).


16. RPM verbosity.


[root@siddhesh ~]# rpm -ivvvvh    git-1.8.3.1-25.el7_9.x86_64.rpm  perl-Git-1.8.3.1-25.el7_9.noarch.rpm

The rpm -ivvh command is used to install RPM packages with increased verbosity. The -v option stands for "verbose," and multiple v characters (-vv) increase the verbosity level.



 


YUM (Yellowdog Updater Modified)


YUM (Yellowdog Updater Modified) is an open-source package management utility for RPM-compatible Linux operating systems. It simplifies the process of installing, updating, removing, and managing software packages on Linux distributions that use the RPM Package Manager. YUM provides a high-level interface to interact with the system's package management system.


1.Install a Package.


[root@siddhesh ~]# yum install tcpdump -y

The above command attempts to install the tcpdump package using the YUM package manager on a Linux system.


2. Remove a Package.

[root@siddhesh ~]# yum remove tcpdump -y

The above command attempts to uninstall the tcpdump package using the YUM package manager on a Linux system.


3. Update a Package.


[root@siddhesh ~]# yum update tcpdump

The above command is used to update the tcpdump package on your Linux system using the YUM package manager. This command checks for a newer version of the tcpdump package in the configured repositories and installs the update if available.


4. List Installed Packages.


[root@siddhesh ~]# yum list installed

The above command is used to display a list of all installed packages on your Linux system using the YUM package manager. When you run this command, it will provide a comprehensive list of packages along with their versions that are currently installed on your system.


5. Search for a Package.


[root@siddhesh ~]# yum search firefox
========================================================== N/S matched: firefox ===========================================================
firefox.i686 : Mozilla Firefox Web browser
firefox.x86_64 : Mozilla Firefox Web browser
firefox-noscript.noarch : JavaScript white list extension for Mozilla Firefox
mozilla-adblockplus.noarch : Adblocking extension for Mozilla Firefox, Thunderbird, and SeaMonkey
mozilla-https-everywhere.noarch : HTTPS enforcement extension for Mozilla Firefox
mozilla-noscript.noarch : JavaScript white list extension for Mozilla Firefox
mozilla-requestpolicy.noarch : Firefox and Seamonkey extension that gives you control over cross-site requests
mozilla-ublock-origin.noarch : An efficient blocker for Firefox
[root@siddhesh ~]#

The above command is used to search for packages related to Firefox in the configured YUM repositories on your Linux system.


6. Show Package Information.


[root@siddhesh ~]# yum info tcpdump
Available Packages
Name        : tcpdump
Arch        : x86_64
Epoch       : 14
Version     : 4.9.2
Release     : 4.el7_7.1
Size        : 422 k
Repo        : base/7/x86_64
Summary     : A network traffic monitoring tool
URL         : http://www.tcpdump.org
License     : BSD with advertising
Description : Tcpdump is a command-line tool for monitoring network traffic.
           : Tcpdump can capture and display the packet headers on a particular
           : network interface or on all interfaces.  Tcpdump can display all of
           : the packet headers, or just the ones that match particular criteria.
           :
           : Install tcpdump if you need a program to monitor network traffic.
[root@siddhesh ~]#

The above command is used to display detailed information about the tcpdump package available in the configured YUM repositories on your Linux system.


7. List Repositories.


[root@siddhesh ~]# yum repolist
repo id                                          repo name                                                                           status
base/7/x86_64                                    CentOS-7 - Base                                                                     10,072
centos-sclo-rh/x86_64                            CentOS-7 - SCLo rh                                                                   8,170
centos-sclo-sclo/x86_64                          CentOS-7 - SCLo sclo                                                                   816
elasticsearch-7.x                                Elasticsearch repository for 7.x packages                                            1,656
epel/x86_64                                      Extra Packages for Enterprise Linux 7 - x86_64                                      13,788
extras/7/x86_64                                  CentOS-7 - Extras                                                                      518
grafana                                          grafana                                                                              2,500
jenkins                                          Jenkins-stable                                                                         155
mongodb-org-7.0/7                                MongoDB Repository                                                                      90
newrelic-infra                                   New Relic Infrastructure                                                               927
remi                                             Remi's RPM repository for Enterprise Linux 7 - x86_64                                8,440
remi-safe                                        Safe Remi's RPM repository for Enterprise Linux 7 - x86_64                           5,549
updates/7/x86_64                                 CentOS-7 - Updates                                                                   5,527
repolist: 58,208
[root@siddhesh ~]#

Displays a list of enabled repositories on your system.

[root@siddhesh ~]# yum repolist disabled

Displays a list of disabled repositories on your system.

[root@siddhesh ~]# yum repoinfo

If you specifically need information about a particular repository, you can use:

[root@siddhesh ~]# yum repoinfo 'Extra Packages for Enterprise Linux 7 - x86_64'
Repo-id      : epel/x86_64
Repo-name    : Extra Packages for Enterprise Linux 7 - x86_64
Repo-status  : enabled
Repo-revision: 1702773730
Repo-updated : Sun Dec 17 06:26:46 2023
Repo-pkgs    : 13,788
Repo-size    : 15 G
Repo-metalink: https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=x86_64&infra=genclo&content=centos
  Updated    : Sun Dec 17 06:26:46 2023
Repo-baseurl : http://mirror.earthlink.iq/epel/7/x86_64/ (5 more)
Repo-expire  : 21,600 second(s) (last: Sun Dec 17 12:14:22 2023)
  Filter     : read-only:present
Repo-filename: /etc/yum.repos.d/epel.repo
repolist: 13,788
[root@siddhesh ~]#

8. Metadata cache for YUM repositories.


[root@siddhesh ~]# yum makecache
base                                                                                                                | 3.6 kB  00:00:00
centos-sclo-rh                                                                                                      | 3.0 kB  00:00:00
centos-sclo-sclo                                                                                                    | 3.0 kB  00:00:00
elasticsearch-7.x                                                                                                   | 1.3 kB  00:00:00
extras                                                                                                              | 2.9 kB  00:00:00
grafana/signature                                                                                                   |  629 B  00:00:00
[root@siddhesh ~]#

The yum makecache command is used to generate the metadata cache for YUM repositories. This metadata includes information about available packages, dependencies, and other details. Running this command ensures that YUM has the latest information about the packages from the configured repositories.

When you run the yum makecache command, YUM contacts the repositories defined in its configuration files, downloads the metadata, and creates a local cache. This local cache is then used by YUM when you perform package-related operations like installing, updating, or removing packages.


If you encounter any issues or if you want to force a refresh of the metadata, you can use the yum clean all command to clean the cached metadata before running yum makecache again.


[root@siddhesh ~]# yum clean all
Loaded plugins: fastestmirror, product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
Cleaning repos: base centos-sclo-rh centos-sclo-sclo elasticsearch-7.x epel extras grafana jenkins mongodb-org-7.0 newrelic-infra remi              : remi-safe updates
Cleaning up list of fastest mirrors
[root@siddhesh ~]# yum makecache

9. Dependency List.


[root@siddhesh ~]# yum deplist postfix

The yum deplist command in your case is used to display the dependencies of a package without installing or updating it. If you run yum deplist postfix, it will show you a list of packages that postfix depends on and packages that depend on postfix. This information can be helpful to understand the package dependencies.


10. Find out which package provides a file/binary/library.


[root@siddhesh ~]# yum whatprovides '/usr/bin/redis-cli'
redis-3.2.12-2.el7.x86_64 : A persistent key-value database
Repo        : epel
Matched from:
Filename    : /usr/bin/redis-cli
redis-5.0.13-1.el7.remi.x86_64 : A persistent key-value database
Repo        : remi
Matched from:
Filename    : /usr/bin/redis-cli
[root@siddhesh ~]#

The yum whatprovides command is used to find which package provides a specific file or executable. In your case, you used it to find which package provides the /usr/bin/redis-cli executable. The output indicates that the redis package from both the "epel" and "remi" repositories provides the redis-cli binary.


11. Yum Group Management.


[root@siddhesh ~]# yum grouplist

The yum grouplist command is used to list available package groups. Package groups are collections of related packages that serve a common purpose.

[root@siddhesh ~]# yum groupinstall 'File and Print Server'

The yum groupinstall 'File and Print Server' command is used to install the packages associated with the "File and Print Server" group. This group typically includes packages and software that are commonly used in setting up file and print servers. When you run this command, yum will install all the packages specified in that group.


[root@siddhesh ~]# yum groupinfo 'File and Print Server'

The yum groupinfo 'File and Print Server' command provides information about the packages included in the "File and Print Server" group. This command displays details about the group, such as a description and a list of packages that are part of the group.


12. Yum download-only package.


[root@siddhesh ~]# yum install --downloadonly --downloaddir=/tmp/firefoxpkg/ firefox

This command will download the Firefox package to the /tmp/firefoxpkg/ directory without installing it. Make sure the specified directory exists before running the command.


[root@siddhesh ~]# ls -lhrt /tmp/firefoxpkg/|wc -l
31
[root@siddhesh ~]#

It looks like there are 31 files in the /tmp/firefoxpkg/ directory, likely representing the downloaded RPM packages for Firefox.


13. Yum Changelog.


[root@siddhesh ~]#  yum install yum-plugin-changelog

This plugin provides additional functionality to yum by allowing you to view changelog information for packages. After installing the plugin, you can use the yum changelog command to view the changelog for a specific package.


[root@siddhesh ~]# yum changelog git
==================== Installed Packages ====================
git-1.8.3.1-25.el7_9.x86_64              installed
* Thu May 18 17:30:00 2023 Masahiro Matsuya <mmatsuya@redhat.com> - 1.8.3.1-25
- Fixes CVE-2023-25652 and CVE-2023-29007
- Resolves: #2188354, #2188365
* Tue Feb 21 17:30:00 2023 Ondřej Pohořelský <opohorel@redhat.com> - 1.8.3.1-24
- Fixes CVE-2022-23521 and CVE-2022-41903
- Resolves: #2162067
* Mon May 25 17:30:00 2020 Vít Ondruch <vondruch@redhat.com> - 1.8.3.1-23
- Prevent crafted URL containing new lines, empty host or lacks a scheme
  to cause credential leak.
  Resolves: CVE-2020-11008
[root@siddhesh ~]#

This output provides information about the version, release, contributors, and a summary of changes for each release of the git package.


14. Yum History.


[root@siddhesh ~]# yum history
ID     | Command line             | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------
    72 | install yum-plugin-chang | 2023-12-17 17:18 | Install        |    1
    71 | install git -y           | 2023-12-17 16:27 | Install        |    2
    70 | remove git               | 2023-12-17 16:27 | Erase          |    2
    69 | install git -y           | 2023-12-17 16:15 | Install        |    2  <
    68 | remove tcpdump           | 2023-12-17 12:24 | Erase          |    1 >
    67 | install tcpdump -y       | 2023-12-17 12:17 | Install        |    1
    66 | remove tcpdump -y        | 2023-12-17 12:17 | Erase          |    1
    65 | install tcpdump -y       | 2023-12-17 12:15 | Install        |    1  <
    64 | remove git               | 2023-12-16 23:00 | Erase          |    2 >
    63 | history redo 61          | 2023-12-16 17:23 | Install        |    1
    62 | history undo 61          | 2023-12-16 17:23 | Erase          |    1
    61 | install screen           | 2023-12-16 17:21 | Install        |    1
    60 | install rpm-build rpmdev | 2023-12-15 18:15 | Install        |    1
    59 | install jq               | 2023-12-12 16:33 | Install        |    2
    58 | install -y mongodb-org   | 2023-11-27 22:58 | Install        |   11 EE
    57 | remove varnish           | 2023-11-26 23:09 | Erase          |    1
    56 | install varnish          | 2023-11-26 23:08 | Install        |    3
    55 | -y -q install newrelic-i | 2023-11-21 16:39 | Install        |    3 EE
    54 | install elinks           | 2023-11-21 16:25 | Install        |    3
    53 | install ioping           | 2023-11-11 16:25 | Install        |    1
[root@siddhesh ~]#

The output shows a you history list of commands related to package management using yum. Each entry in the list corresponds to a specific action, such as installing, removing, or updating packages.


[root@siddhesh ~]# yum history undo 72

This command will undo the changes made by transaction ID 72, which was the installation of yum-plugin-changelog. Keep in mind that undoing this transaction might affect the functionality provided by the yum-plugin-changelog package.


[root@siddhesh ~]# yum history redo 72

This command will redo the changes made by transaction ID 72, which was the installation of yum-plugin-changelog.



4 Comments

Rated 0 out of 5 stars.
No ratings yet

Add a rating
Shubham More
Shubham More
Dec 23, 2023
Rated 5 out of 5 stars.

Great explanation of each command and its arguments !

Like

Guest
Dec 19, 2023
Rated 5 out of 5 stars.

very excellent and advance information related to package management.

Like

Mahesh Manchekar
Mahesh Manchekar
Dec 19, 2023
Rated 5 out of 5 stars.

Deep Information about Linux Package management.

Like

Guest
Dec 19, 2023
Rated 5 out of 5 stars.

Excellent Information & Teaching skills...!!

Like
bottom of page