How to List Installed Packages on Fedora

Written by: James Kiarie   |   Last updated: July 5, 2022

Occasionally, you may want to check the packages installed on your system. In this tutorial, I will demonstrate how to list installed packages on Fedora. Yum package manager was used on Fedora 22 and its previous version, now (Fedora 27) we have DNF tool for package management.

1. List manually (explicitly) installed packages

To list manually installed packages in your system, run the following command

dnf history userinstalled

Sample Output

Packages installed by user
httpd
gnome-tweak-tool
nodejs
npm

2. List all installed packages

On older version say Fedora 22, if you wish to know all the installed packages in your system, run the command below

rpm -qa

Sample Output

1  hwdata-0.252-8.6.el7.x86_64
     2  setup-2.8.71-7.el7.noarch
     3  libpipeline-1.2.3-3.el7.x86_64
     4  grub2-pc-modules-2.02-0.65.el7_4.2.noarch
     5  gpgme-1.3.2-5.el7.x86_64
     6  glibc-common-2.17-196.el7.x86_64
     7  yum-3.4.3-154.el7.noarch
     8  libstdc++-4.8.5-16.el7_4.1.x86_64
     9  rhn-check-2.0.2-17.el7.noarch
    10  pcre-8.32-17.el7.x86_64
    11  xz-libs-5.2.2-1.el7.x86_64
    12  desktop-file-utils-0.23-1.el7.x86_64
    13  libxml2-2.9.1-6.el7_2.3.x86_64

NOTE: If you wish to know whether a specific package is installed, use the 'grep' filter option
In this example, we'll investigate whether httpd web server is installed or not.

rpm -qa | grep httpd

Output

httpd-tools-2.4.6-67.el7_4.6.x86_64
httpd-2.4.6-67.el7_4.6.x86_64

The results above confirm the installation and presence of httpd web server.

You can also sort the packages installed according to date i.e from latest to earliest. This can be achieved by running the command below

 rpm -qa --last

Sample Output

vim-enhanced-7.4.160-2.el7.x86_64             Thu 22 Feb 2018 07:53:52 PM UTC
vim-common-7.4.160-2.el7.x86_64               Thu 22 Feb 2018 07:53:52 PM UTC
vim-filesystem-7.4.160-2.el7.x86_64           Thu 22 Feb 2018 07:53:50 PM UTC
gpm-libs-1.20.7-5.el7.x86_64                  Thu 22 Feb 2018 07:53:50 PM UTC
samba-common-tools-4.6.2-12.el7_4.x86_64      Sun 18 Feb 2018 03:20:55 PM UTC
samba-4.6.2-12.el7_4.x86_64                   Sun 18 Feb 2018 03:20:55 PM UTC
samba-libs-4.6.2-12.el7_4.x86_64              Sun 18 Feb 2018 03:20:54 PM UTC
samba-common-libs-4.6.2-12.el7_4.x86_64       Sun 18 Feb 2018 03:20:54 PM UTC
samba-client-libs-4.6.2-12.el7_4.x86_64       Sun 18 Feb 2018 03:20:54 PM UTC
libwbclient-4.6.2-12.el7_4.x86_64             Sun 18 Feb 2018 03:20:54 PM UTC
cups-libs-1.6.3-29.el7.x86_64                 Sun 18 Feb 2018 03:20:54 PM UTC
samba-common-4.6.2-12.el7_4.noarch            Sun 18 Feb 2018 03:20:53 PM UTC

3. Using DNF - List installed packages

In the newer version say Fedora 27, you can list all the installed packages in your system using the dnf package manager.

dnf list installed

Sample output

 1  Installed Packages
     2  GConf2.x86_64                            3.2.6-11.fc21                   @System
     3  LibRaw.x86_64                            0.16.0-4.fc21                   @System
     4  ModemManager.x86_64                      1.4.0-1.fc21                    @System
     5  ModemManager-glib.x86_64                 1.4.0-1.fc21                    @System
     6  NetworkManager.x86_64                    1:0.9.10.0-13.git20140704.fc21  @System
     7  NetworkManager-adsl.x86_64               1:0.9.10.0-13.git20140704.fc21  @System
     8  NetworkManager-bluetooth.x86_64          1:0.9.10.0-13.git20140704.fc21  @System
     9  NetworkManager-config-connectivity-fedora.x86_64
    10                                           1:0.9.10.0-13.git20140704.fc21  @System
    11  NetworkManager-glib.x86_64               1:0.9.10.0-13.git20140704.fc21  @System
    12  NetworkManager-openconnect.x86_64        0.9.8.4-4.fc21                  @System
    13  NetworkManager-openvpn.x86_64            1:0.9.9.0-3.git20140128.fc21    @System
    14  NetworkManager-openvpn-gnome.x86_64      1:0.9.9.0-3.git20140128.fc21    @System
    15  NetworkManager-pptp.x86_64               1:0.9.8.2-6.fc21                @System
    16  NetworkManager-pptp-gnome.x86_64         1:0.9.8.2-6.fc21                @System
    17  NetworkManager-vpnc.x86_64               1:0.9.9.0-6.git20140428.fc21    @System
    18  NetworkManager-vpnc-gnome.x86_64         1:0.9.9.0-6.git20140428.fc21    @System
    19  NetworkManager-wifi.x86_64               1:0.9.10.0-13.git20140704.fc21  @System
    20  NetworkManager-wwan.x86_64               1:0.9.10.0-13.git20140704.fc21  @System
    21  PackageKit.x86_64                        1.0.3-2.fc21                    @System
    22  PackageKit-cached-metadata.x86_64        1.0.3-2.fc21                    @System
    23  PackageKit-command-not-found.x86_64      1.0.3-2.fc21                    @System
    24  PackageKit-glib.x86_64                   1.0.3-2.fc21                    @System
    25  PackageKit-gstreamer-plugin.x86_64       1.0.3-2.fc21                    @System
    26  PackageKit-gtk3-module.x86_64            1.0.3-2.fc21

NOTE: For older Fedora versions ( Version 20 and earlier ) yum package manager is used instead of dnf. Therefore, to list installed packages the command is as shown below:

yum list installed

Sample Output

mariadb.x86_64                                                                   1:5.5.56-2.el7                                        @rhui-REGION-rhel-server-releases
mariadb-libs.x86_64                                                              1:5.5.56-2.el7                                        @anaconda/7.4
mariadb-server.x86_64                                                            1:5.5.56-2.el7                                        @rhui-REGION-rhel-server-releases
microcode_ctl.x86_64                                                             2:2.1-22.2.el7                                        @anaconda/7.4
mozjs17.x86_64                                                                   17.0.0-19.el7                                         @anaconda/7.4
ncurses.x86_64                                                                   5.9-14.20130511.el7_4                                 @anaconda/7.4
ncurses-base.noarch                                                              5.9-14.20130511.el7_4                                 @anaconda/7.4
ncurses-libs.x86_64                                                              5.9-14.20130511.el7_4                                 @anaconda/7.4
net-tools.x86_64                                                                 2.0-0.22.20131004git.el7                              @anaconda/7.4
newt.x86_64                                                                      0.52.15-4.el7                                         @anaconda/7.4
newt-python.x86_64                                                               0.52.15-4.el7                                         @anaconda/7.4
nspr.x86_64                                                                      4.13.1-1.0.el7_3                                      @anaconda/7.4
nss.x86_64                                                                       3.28.4-15.el7_4                                       @anaconda/7.4
nss-pem.x86_64                                                                   1.0.3-4.el7                                           @anaconda/7.4
nss-softokn.x86_64

4. List orphaned packages

Orphaned packages that those packages that are no longer required by the system. rpmorphan command comes in handy when you want to view those packages so that you can later uninstall them to free up disk space.
To display orphaned libraries, run

rpmorphan

Sample Output

libcanberra-gtk2
libertas-usb8388-firmware
libproxy-mozjs
libreoffice-emailmerge
libsane-hpaio

To display orphaned packages installed in the last 2 days, run the command below

rpmorphan --all -install-time -2

To view packages installed more than 10 days ago, run

rpmorphan --all --access -time +10

Sample Output

symlinks
syslinux-extlinux
system-config-printer-udev
tabish-eeyek-fonts
tcpdump
telnet
thai-scalable-waree-fonts
time
totem-nautilus
traceroute
transmission-gtk
tree
uboot-tools
unoconv
usbutils
vconfig
vinagre
vlgothic-fonts
wireless-tools
words
wvdial

To clean up the system of these orphaned packages, use

dnf autoremove

5. Using pkcon command to search packages

pkcon short for PackageKit console is a command line tool which can be used for many purposes including installing, updating, removing and searching packages.

To search a package run

pkcon search name package-name

For example ,

pkcon search name sshd

Sample Output

Searching by name             [=========================]
Starting                      [=========================]
Finished                      [=========================]
Available       apache-sshd-0.11.0-2.fc21.noarch (fedora)                       Apache SSHD
Available       apache-sshd-javadoc-0.11.0-2.fc21.noarch (fedora)               API documentation for apache-sshd
Available       jenkins-sshd-1.6-4.fc21.noarch (fedora)                         Jenkins sshd module
Available       jenkins-sshd-javadoc-1.6-4.fc21.noarch (fedora)                 Javadoc for jenkins-sshd

The above shows the files making up the sshd package.

Conclusion

In this guide, we learned how to list packages in Fedora using dnf and other package tools. I invite you to try out the above examples. Your feedback is highly welcome. Thank you.

About The Author

James Kiarie

James Kiarie

James Kiarie is a skilled and certified LPIC Linux administrator with a strong passion for technical writing, specializing in the Linux domain. With over four years of experience, he has crafted numerous technical guides, helping a wide audience navigate through various Linux distributions.

SHARE

Comments

Please add comments below to provide the author your ideas, appreciation and feedback.

Leave a Reply

Leave a Comment