LFCA: How to Manage Software Packages in Linux – Part 7

This article is Part 7 of the LFCA series, here in this part, you will acquaint yourself with the general system administration commands to manage software packages in the Linux system.

As a systems administrator, you will be tasked with the responsibility of managing software packages. This includes installing, upgrading, and removing or uninstalling packages from your system.

There are two types of packages in a Linux system:

  • Binary packages: These contain configuration files, executables, man pages among other documentation. For Debian, the binary packages have a .deb file extension. For Red Hat, the binary packages bear a .rpm file extension. Binary packages are unpacked using the Debian utility dpkg – For .deb binary files and rpm for .rpm binary packages as we shall see later on.
  • Source packages: A source package is a compressed file that contains the source code of the application, a brief description of the package, and instructions on how to build the application.

Different Linux distributions have their own package managers and here, we are going to look at 2 Linux families: Debian and Red Hat.

Debian Package Management

Debian provides APT (Advanced Package Manager) as a front-end package management solution. It’s a powerful command-line utility that works with core libraries and allows you to download, install, update and remove packages from your system.

Install a Package in Debian/Ubuntu Systems

If you are coming from a Windows environment, you are used to downloading a .exe package from a software vendor and running it on your system using an installation Wizard.

In Linux, installing an application is quite different. Software packages are downloaded and installed from online repositories using a package manager. The list of repositories is defined in the /etc/apt/sources.list file and /etc/sources.list.d directory.

On Debian-based distributions, the APT package manager is used to download and install packages from the online repositories. Not only does it install a package but also the dependencies required by the packages

It’s always recommended to update the repositories in the /etc/apt/sources.list file before installing any package. To accomplish this, run the command:

$ sudo apt update

To install a software package, use the syntax:

$ sudo apt install package_name

For example, to install Apache web server, run the command:

$ sudo apt install apache2
Install Apache in Ubuntu
Install Apache in Ubuntu

Search a Package Before Installing

To search for the availability of a package in the repositories, use the syntax:

$ apt search package_name

For example, to search for the availability of the package called neofetch, run the command:

$ apt search neofetch
Search for Package in Ubuntu
Search for Package in Ubuntu

Show Information of Package

To display more information about a package, use the apt command as follows.

$ apt show package_name

For example, to reveal more information about the neofetch package, run:

$ apt show neofetch
Check Package Info in Ubuntu
Check Package Info in Ubuntu

Upgrade Packages in Ubuntu

To upgrade the installed packages on your system run the command:

$ sudo apt upgrade

Remove Package in Ubuntu

To remove a software package, say apache2 run the command:

$ sudo apt remove apache2

To remove the package alongside the configuration files use the purge option as shown.

$ sudo apt purge apache2

The Dpkg Package Manager

Debian-based Linux distributions also offer the dpkg package manager. This is a low-level package manager that handles binary packages that do not require any dependencies during installation. If dpkg detects that a binary package file requires dependencies, it reports the missing dependencies and halts.

To install a package from a .deb file use the dpkg command as follows:

$ sudo dpkg -i package.deb

For example, to install the AnyDesk package from its Debian file shown, execute:

$ sudo dpkg -i anydesk_6.1.0-1_amd64.deb
OR
$ sudo dpkg --unpack  anydesk_6.1.0-1_amd64.deb
Install Package in Ubuntu
Install a Package in Ubuntu

To check if the package was installed, run the command:

$ sudo dpkg -l anydesk
Verify Package in Ubuntu
Verify Package in Ubuntu

To remove the package, use the -r option as shown:

$ sudo dpkg -r anydesk
Remove Package in Ubuntu
Remove Package in Ubuntu

To remove the package alongside all its configuration files, use the -P option for purging all the files associated with the package.

$ sudo dpkg -P anydesk

YUM / DNF and RPM Package Management

Modern RedHat Linux distributions such as RHEL & CentOS 8 and Fedora 21 and later versions use DNF (Dandified YUM) which is an upgrade of the now deprecated YUM package manager, which was the de facto package manager for older versions of Red Hat Linux distributions such as RedHat and CentOS 7.

Just like APT, the DNF or YUM package managers are used to install packages from online repositories.

Install Software Packages in CentOS

To install a package, use the syntax:

$ sudo dnf install package-name
OR
$ sudo yum install package-name (For older versions)

For instance, to install the Apache httpd package, run the command:

$ sudo dnf install httpd
OR
$ sudo yum install httpd

Search for a Software Package

You can also search for the availability of a package from the repositories as follows:

$ sudo dnf search mariadb

Update Software Packages

To update all packages to their latest version execute:

$ sudo dnf update 
OR
$ sudo yum  update 

Remove Software Package

To remove a package run:

$ sudo dnf remove package_name
OR
$ sudo yum remove  package_name

For example, to remove the httpd package, run

$ sudo dnf remove httpd
OR
$ sudo yum remove httpd

The RPM Package Manager

The rpm package manager is another open-source package management tool for handling .rpm binary packages on RedHat Linux distributions. Just like APT package manager rpm manages binary packages.

Install Software Package

To install an application using a .rpm file, use the syntax below:

$ sudo rpm -i package_name

For instance, to install the AnyDesk application from the .rpm file shown, run the command:

$ sudo rpm -i anydesk-6.1.0-1.el8.x86_64.rpm 

To verify or check the presence of a software application on your system use the syntax:

$ sudo rpm -q package_name

For instance, to check if Anydesk is installed, run the command:

$ sudo rpm -q anydesk
Verify Package Installation
Verify Package Installation

To query all the present software packages, use the command:

$ sudo rpm -qa
Query Software Packages
Query Software Packages

Remove Software Package

To uninstall a package using the rpm command use the syntax:

$ sudo rpm -e package_name

For example:

$ sudo rpm -e anydesk
Conclusion

The apt, dpkg, rpm, dnf, and yum commands are handy command-line tools that can help you to install, update and remove software packages on your Linux system.

If you read this far, tweet to the author to show them you care. Tweet a thanks
James Kiarie
This is James, a certified Linux administrator and a tech enthusiast who loves keeping in touch with emerging trends in the tech world. When I'm not running commands on the terminal, I'm taking listening to some cool music. taking a casual stroll or watching a nice movie.

Each tutorial at TecMint is created by a team of experienced Linux system administrators so that it meets our high-quality standards.

Join the TecMint Weekly Newsletter (More Than 156,129 Linux Enthusiasts Have Subscribed)
Was this article helpful? Please add a comment or buy me a coffee to show your appreciation.

2 thoughts on “LFCA: How to Manage Software Packages in Linux – Part 7”

  1. @James,

    To install a software package, use the syntax:

    $ sudo apt package_name
    

    Surely, you meant to edit

    $ sudo apt install package_name
    

    Gérard

    Reply

Got something to say? Join the discussion.

Thank you for taking the time to share your thoughts with us. We appreciate your decision to leave a comment and value your contribution to the discussion. It's important to note that we moderate all comments in accordance with our comment policy to ensure a respectful and constructive conversation.

Rest assured that your email address will remain private and will not be published or shared with anyone. We prioritize the privacy and security of our users.