- How to check a list of packages installed on Linux
- 1) How to List All Packages Installed on RPM Based Systems Using the RPM Command
- 2) How to Check All Packages Installed on RHEL (Red Hat) and CentOS Systems Using the YUM Command
- 3) How to Verify All Packages Installed on RHEL (Red Hat), CentOS and Fedora Systems Using the DNF Command
- 4) How to Find All Packages Installed on SUSE and openSUSE Systems Using the Zypper Command
- 5) How to Check All Packages Installed on Arch Linux Based Systems Using the Pacman Command
- 6) How to List All Packages Installed on Deb Based Systems Using the DPKG Command
- 7) How to Find All Packages Installed on Deb Based Systems Using the Apt Command
- 8) How to Calculate the List of Packages Installed on Your System
- 9) How to Export a List of Installed Packages to a File in Linux
- How to find out if package is installed in Linux
- Debian / Ubuntu Linux
- Red Hat Enterprise / Fedora Linux / Suse Linux / Cent OS
- See also:
- How do I check if a package is installed on my server?
- 13 Answers 13
How to check a list of packages installed on Linux
As we know, package managers are one of the most contributors to the Linux system.
Most of us prefer the command line interface for package management such as the YUM command, DNF command, APT command, Apt-Get command, PACMAN command, and ZYPPER command based on Linux distributions.
Package Manager allows us to perform actions such as installing new software packages, removing unused software packages, updating the existing software packages, searching for specific software packages, and updating the system to latest available version, etc.
As a system administrator you should keep track of the packages installed on the system, which can save you a lot of time when setting up a new server or migrating them.
Since we already have the list, this list will help you to quickly install the required packages.
Many tools are used to manage packages on Linux, from the graphics or text-based interface to the lower-level tools used to install packages.
This is a very short and powerful exercise for newbie to manage package management.
In this tutorial we will include all major Linux distributions such as RHEL (RedHat), CentOS, Fedora, Debian, Ubuntu, openSUSE and Arch Linux systems.
1) How to List All Packages Installed on RPM Based Systems Using the RPM Command
You can use the RPM command with the -qa option to get a list of packages installed on RHEL (RedHat), CentOS, Fedora, and openSUSE systems.
RPM stands for RPM Package Manager formerly known as Red Hat Package Manager is a powerful package management system for Red Hat Enterprise Linux (RHEL) as well as other Linux distribution such as Fedora, CentOS, and openSUSE. RPM maintains a database of installed packages and their files, so you can invoke powerful queries and verification’s on your system.
2) How to Check All Packages Installed on RHEL (Red Hat) and CentOS Systems Using the YUM Command
Use the following YUM command to get the list of packages installed on RHEL (RedHat) and CentOS systems.
YUM stands for Yellowdog Updater, Modified is an open-source command-line front-end package-management utility for RPM based systems such as Red Hat Enterprise Linux (RHEL) and CentOS.
Yum is the primary tool for getting, installing, deleting, querying, and managing RPM packages from distribution repositories, as well as other third-party repositories.
Run the following command to view the detailed information about the given package.
3) How to Verify All Packages Installed on RHEL (Red Hat), CentOS and Fedora Systems Using the DNF Command
Use the following DNF command to get the list of packages installed on CentOS 8, RHEL 8 and Fedora systems.
DNF stands for Dandified yum is the next generation version of yum. It’s allow us to installs, updates, and removes packages on RPM-based Linux distributions. The DNF was introduced in Fedora 18, and it has been the default package manager for Fedora since version 22, CentOS8 and RHEL 8.
Run the following command to view the detailed information about the given package.
4) How to Find All Packages Installed on SUSE and openSUSE Systems Using the Zypper Command
Use the following Zypper Command to get a list of packages installed on SUSE and openSUSE systems.
Zypper is the command line package manager for suse and openSUSE distributions. It can be used to install, update, search, remove packages, manage repositories and perform various actions.
It uses the libzypp library for package management.
To view detailed information about the given package.
5) How to Check All Packages Installed on Arch Linux Based Systems Using the Pacman Command
Use the following Pacman command to get a list of packages installed on Arch Linux based systems such as Manjaro, ArcoLinux, Chakra, etc.
Pacman stands for package manager utility. pacman is a simple command-line utility to install, build, remove and manage Arch Linux packages. Pacman uses libalpm (Arch Linux Package Management (ALPM) library) as a back-end to perform all the actions.
To view detailed information about the given package.
6) How to List All Packages Installed on Deb Based Systems Using the DPKG Command
We can use the DPKG command to get a list of packages installed on Debian based systems such as Ubuntu and LinuxMint.
DPKG stands for Debian Package is a tool to install, build, remove and manage Debian packages, but unlike other package management systems, it cannot automatically download and install packages or their dependencies.
7) How to Find All Packages Installed on Deb Based Systems Using the Apt Command
Use the following Apt command to get a list of installed packages on Debian based systems such as Ubuntu and LinuxMint.
APT (Advanced Packaging Tool), a higher level tool, is more commonly used than dpkg as it can fetch packages from remote locations and deal with complex package relations, such as dependency resolution.
To view detailed information about particular package, run any of the below command.
8) How to Calculate the List of Packages Installed on Your System
Run the following command to calculate the list of packages installed on your Linux system. Use the package manager command according to your distribution.
9) How to Export a List of Installed Packages to a File in Linux
To export a list of packages installed on Linux, redirect the below command output to a file. The standard output is only redirected to the file and it is not displayed on the terminal. If the file already exists, it will be overwritten.
Источник
How to find out if package is installed in Linux
Debian / Ubuntu Linux
Use dpkg command. It is a package manager for Debian/Ubuntu Linux. Suppose you want to find out package apache-perl or sudo is installed or not, type command:
$ dpkg -s apache-perl
Sample outputs:
- No ads and tracking
- In-depth guides for developers and sysadmins at Opensourceflare✨
- Join my Patreon to support independent content creators and start reading latest guides:
- How to set up Redis sentinel cluster on Ubuntu or Debian Linux
- How To Set Up SSH Keys With YubiKey as two-factor authentication (U2F/FIDO2)
- How to set up Mariadb Galera cluster on Ubuntu or Debian Linux
- A podman tutorial for beginners – part I (run Linux containers without Docker and in daemonless mode)
- How to protect Linux against rogue USB devices using USBGuard
Join Patreon ➔
Another example:
$ dpkg -s sudo
Sample outputs:
Use file /var/lib/dpkg/available to find out all package names available to you. Or you can use following command (list all packages in /var/lib/dpkg/status):
$ dpkg-query -l
You can also try to match package name using wild cards:
$ dpkg-query -l ‘libc6*’
Once you’ve found package name, use the following command to get exact status (whether it is installed or not):
$ dpkg-query -W -f=’$
Sample outputs:
Red Hat Enterprise / Fedora Linux / Suse Linux / Cent OS
Under Red Hat/Fedora/CentOS/Suse Linux use the rpm command:
$ rpm -qa | grep
$ rpm -qa | grep mutt
Output:
If you do not see or get any outputs (package name along with version), it means the package is not installed at all. You can display or list all installed packages with the following command:
$ rpm -qa
$ rpm -qa | less
You can conditionally do something if a rpm command succeeded or failed to find package using bash shell if command:
On a CentOS/RHEL version 6.x/7.x and above use the following yum command to tell whether a package named htop is installed:
$ yum list installed
$ yum list installed htop
Sample outputs:
If you are using Fedora Linux, try the following dnf command:
$ dnf list installed
$ dnf list installed htop
See also:
🐧 Get the latest tutorials on Linux, Open Source & DevOps via
Category | List of Unix and Linux commands |
---|---|
Documentation | help • mandb • man • pinfo |
Disk space analyzers | df • duf • ncdu • pydf |
File Management | cat • cp • less • mkdir • more • tree |
Firewall | Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04 |
Linux Desktop Apps | Skype • Spotify • VLC 3 |
Modern utilities | bat • exa |
Network Utilities | NetHogs • dig • host • ip • nmap |
OpenVPN | CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04 |
Package Manager | apk • apt |
Processes Management | bg • chroot • cron • disown • fg • glances • gtop • jobs • killall • kill • pidof • pstree • pwdx • time • vtop |
Searching | ag • grep • whereis • which |
Shell builtins | compgen • echo • printf |
Text processing | cut • rev |
User Information | groups • id • lastcomm • last • lid/libuser-lid • logname • members • users • whoami • who • w |
WireGuard VPN | Alpine • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04 |
Comments on this entry are closed.
This is my first massage over here& i hope i will get full support.
How to open usermap.cfg file on NetApp server?- As i have to check whether unix user login is mapped correctly with Windows login.
As the main problem which few of the users are having is as below —
They are NOT able to map from Windows any network
drive (unix accounts) due to they have not access to their share drive.
It ask me for login and password, BUT earliear it never asked me for my windows login and password . It’s been working till the end of the year 2006.
Please suggest solutions—–
Many thanks in Advance
just a small addition –
on Gentoo Linux just do a:
or
cat /var/lib/portage/world
on CentOS or other “yum”-based systems:
yum list installed
how to see the programs and features in redhat linux (e.g– in windows we can check the same through control panel–progrmas)
@john: On RedHat – which is a rpm package management based distribution – you should can use i.e.:
to list all installed packages or
to get out details about the installed package.
how do i verify packages that are installed without using rpm, i mean recently i installed squid using make, make all, configure configure-install
after this, how do I check this package is installed?
…this is not possible as installing “by hand” (make install) has nothing to do with a “package” nor package management.
To find out if i.e. squid was installed just try to locate the squid binary by where, locate or find, even if you build and install software from sources by make.
If you use a port management system from i.e. pkgsrc, getoo portage or even FreeBSD the port management counts each modified and installed file of a port to make it possible to see which file belongs to which port (package) or which are installed etc.
this might be another story.
Thank you very much, I have another issue, I have Installed texlive but I still get an error message in my crm ” pdf latex not installed”, so do you know how check if any software is installed or not ? It’s different from packages, isn’t it ?
If you have a list of packages you want to query, it’s much easier to just list them instead of using grep:
rpm -q automake libtool flex bison pkgconfig gcc-c++ boost-devel libevent-devel
Why such a complicated command for rpm-based systems? On my machine (Fedora 20), I can just run rpm -q $
[blong@blong-desktop tmp]$ rpm -q vala; echo $?
vala-0.22.1-1.fc20.x86_64
0
[blong@blong-desktop tmp]$ rpm -q missing-package; echo $?
package missing-package is not installed
1
Is this a new feature?
In Debian based distros like Ubuntu, you can find out if a package is installed with:
apacheInstalled=$(dpkg -s apache2 | grep ‘Status: install ok installed’| wc -l)
#change apache2 to the package you are checking for. returns 1 if installed, 0 otherwise.
#script does not have to be running as root… but to change installed stuff… it would.
Источник
How do I check if a package is installed on my server?
I recently installed Ubuntu Server edition 13.10 (Saucy Salamander). But I have run into a bit of problem.
At the end of the installation, it asks about several extra packages whether you want them or not, like OpenSSH server and virtual machine host. Here’s what I’m looking at:
Now, my problem is that I can’t remember if I have checked the «virtual machine host» checkbox. How do I check if my server has the corresponding packages?
What packages come with the virtual machine host?
, e.g. $ apt-cache policy dillo
13 Answers 13
Are you looking to know about all dpkg commands with options? Have a read from the below link.
To List all Installed Packages
Here less is a simple text reader used to scroll through the list of packages in a new buffer that opens in the existing terminal window. The list will not be mixed with other terminal commands and output. Hit q to return to the terminal prompt. See man less for more info.
To check whether a package is installed or not:
To check if the package is installed or not (for example, vlc ). If installed, launch the package:
Show the location where the package is installed. The -S (capital S) stands for «search»
To use Grep to search:
apt -qq list PACKAGE can also be used for checking whether the PACKAGE is installed.
If installed it’ll print something like (with [installed] at the end of the line):
If not installed the output will be:
This command is the Debian package manager.
You can list all the installed packages with
You can see details for a specific package with
And to learn if it is installed, use
You can learn which package contains the software you want with
In your case you should use this command to search the package name you want
to show detailed information about installed and installable versions of a package.
I’ve found a way to check for package installation with just dpkg-query command and no pipes.
I searched for such solution while writing a task for ansible playbook.
You can do something like this:
This is just one another way to do the thing.
Simpler solution:
There is now an apt list command that lists available packages, and the —installed command will show only installed packages. You can also search for a specific package with
Or to see only the matching installed packages
There are also the —upgradeable and —all-versions flags.
If you do not know the exact package name, you can use apt search followed by part of it to see a list of related packages. This will allow you to use a partial name or regex term(s) to filter a list of available packages, but it does not have the nifty flags for filtering that apt list has.
Also see man apt for more information.
, the —installed part is mandatory
I am writing a new answer as Tasksel ‘Task names’ DO NOT show up in dpkg or apt queries. Meaning the other answers are incomplete (or wrong).
«I can’t remember If I have checked the ‘virtual machine host’ checkbox..»
Check if there is an asterisk by the name after re-running sudo tasksel (or an ‘ i ‘ if running tasksel —list-tasks ).
If you do not see this, then you probably do not have the ‘tasksel meta-package’ installed.
«..How do I check if my server has the corresponding packages?»
If you want to find out what is installed under the Virtual Machine Host tasksel meta-package:
(in your case tasksel —list-tasks | grep virt is enough)
This gives the proper task name and an indication as to whether it is installed.
In your case this tasksel name is virt-host .
«What packages come with the virtual machine host?»
From the last command, find the tasksel task name. This is needed for the next command:
This lists the individual Tasksel meta-package (denoted by appended ‘^’) that make up the name. In your case it’s virt-host^ .
Once you find proper meta-name you can use apt:
(or apt-cache show . if apt show doesn’t work.)
This will show all packages making up the given meta package.
This will tell you if the individual package is installed/uninstalled (noted by 2nd letter: ‘i’ status means installed). Do this for all packages listed under the task/meta package.
This should answer the original questions.
Side note: /usr/share/tasksel/descs/ubuntu-tasks.desc also holds descriptions of Tasksel meta-packages. If you: grep «virt» /usr/share/tasksel/descs/ubuntu-tasks.desc it will show the proper APT meta-package name. (In your case this is ubuntu-virt-server ). You can also use apt commands with this meta-name.
If you are wanting to remove tasksel packages, this gets into the weeds a bit. Please consult this Ask Ubuntu answer or any number of other answers out there.
Please note that «meta» apt packages do not match Tasksel package names. Please consult the Tasksel Community Page for more info.
Источник