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
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
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
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
To check if the package was installed, run the command:
$ sudo dpkg -l anydesk
To remove the package, use the -r
option as shown:
$ sudo dpkg -r anydesk
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
To query all the present software packages, use the command:
$ sudo rpm -qa
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.
The above is the detailed content of LFCA: How to Manage Software Packages in Linux – Part 7. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

LXD is described as the next-generation container and virtual machine manager that offers an immersive for Linux systems running inside containers or as virtual machines. It provides images for an inordinate number of Linux distributions with support

Clear Linux OS is the ideal operating system for people – ahem system admins – who want to have a minimal, secure, and reliable Linux distribution. It is optimized for the Intel architecture, which means that running Clear Linux OS on AMD sys

The key steps for creating a self-signed SSL certificate are as follows: 1. Generate the private key, use the command opensslgenrsa-outselfsigned.key2048 to generate a 2048-bit RSA private key file, optional parameter -aes256 to achieve password protection; 2. Create a certificate request (CSR), run opensslreq-new-keyselfsigned.key-outselfsigned.csr and fill in the relevant information, especially the "CommonName" field; 3. Generate the certificate by self-signed, and use opensslx509-req-days365-inselfsigned.csr-signk

Firefox browser is the default browser for most modern Linux distributions such as Ubuntu, Mint, and Fedora. Initially, its performance might be impressive, however, with the passage of time, you might notice that your browser is not as fast and resp

Decompress the .zip file on Windows, you can right-click to select "Extract All", while the .tar.gz file needs to use tools such as 7-Zip or WinRAR; on macOS and Linux, the .zip file can be double-clicked or unzip commanded, and the .tar.gz file can be decompressed by tar command or double-clicked directly. The specific steps are: 1. Windows processing.zip file: right-click → "Extract All"; 2. Windows processing.tar.gz file: Install third-party tools → right-click to decompress; 3. macOS/Linux processing.zip file: double-click or run unzipfilename.zip; 4. macOS/Linux processing.tar

When encountering DNS problems, first check the /etc/resolv.conf file to see if the correct nameserver is configured; secondly, you can manually add public DNS such as 8.8.8.8 for testing; then use nslookup and dig commands to verify whether DNS resolution is normal. If these tools are not installed, you can first install the dnsutils or bind-utils package; then check the systemd-resolved service status and configuration file /etc/systemd/resolved.conf, and set DNS and FallbackDNS as needed and restart the service; finally check the network interface status and firewall rules, confirm that port 53 is not

As a system administrator, you may find yourself (today or in the future) working in an environment where Windows and Linux coexist. It is no secret that some big companies prefer (or have to) run some of their production services in Windows boxes an

If you find that the server is running slowly or the memory usage is too high, you should check the cause before operating. First, you need to check the system resource usage, use top, htop, free-h, iostat, ss-antp and other commands to check CPU, memory, disk I/O and network connections; secondly, analyze specific process problems, and track the behavior of high-occupancy processes through tools such as ps, jstack, strace; then check logs and monitoring data, view OOM records, exception requests, slow queries and other clues; finally, targeted processing is carried out based on common reasons such as memory leaks, connection pool exhaustion, cache failure storms, and timing task conflicts, optimize code logic, set up a timeout retry mechanism, add current limit fuses, and regularly pressure measurement and evaluation resources.
