Home > System Tutorial > LINUX > Master APT and easily manage Linux software

Master APT and easily manage Linux software

PHPz
Release: 2024-02-10 23:54:15
forward
577 people have browsed it

As a Linux system administrator, you have to face numerous software installation and update tasks every day. APT (Advanced Packaging Tool) is a powerful software package management tool that simplifies our software management process on Linux and ensures that we can manage the system quickly and efficiently. This article will introduce you to the functions and usage of APT, allowing you to easily manage all software on Linux.

Master APT and easily manage Linux software

The package manager can help you deal with issues such as updating, uninstalling, and troubleshooting software on Linux computers. Seth Kenlon wrote the article Using dnf for Linux package management, which introduces how to use dnf, a command-line package management tool, to install software in Linux distributions such as RHEL, CentOS, Fedora, Mageia, OpenMandriva, etc.

Debian and Debian-based distributions (such as MX Linux, Deepin, Ubuntu) and Ubuntu-based distributions (such as Linux Mint and Pop!_OS) have apt, a "similar but different" tool. In this article, I'll show you how to use it, following Seth's example (but using apt).

At the beginning, I would like to mention four software installation tools related to apt:

Synaptic​​​ is a GTK-based graphical user interface (GUI) front-end tool for ​​apt​​. ​​Aptitude​​​ is an Ncurses-based full-screen command line front-end tool for ​​apt​​. The predecessors of apt include apt-get, apt-cache and other tools. ​​Dpkg​​​ is the "behind-the-scenes worker" that handles complex affairs behind the ​​apt​​ package manager.

There are other package management systems, such as Flatpak and Snap, that you may encounter on Debian and Debian-based systems, but I'm not going to discuss them here. There are also application "stores", such as GNOME "Software", that overlap with apt and other packaging technologies; I'm not going to discuss them here either. Finally, there are other Linux distributions such as Arch and Gentoo that use neither dnf nor apt, and I'm not going to discuss them here!

I have talked about so much above that I don’t want to mention. You may wonder how much software apt can handle. Let's put it this way, on my Ubuntu 20.04, apt allows me to use 69,371 packages, from 0ad (an ancient war-themed real-time strategy game) to zzuf (a transparent application fuzzing tool), not at all Difference.

Use apt to search software

The first step in using the apt package manager is to find the package of interest. Seth's dnf article uses the Cockpit server management application as an example. With apt I would enter the following command:

$ apt search cockpit
Sorting... Done
Full Text Search... Done
389-ds/hirsute,hirsute 1.4.4.11-1 all
  389 Directory Server suite - metapackage

cockpit/hirsute,hirsute 238-1 all
  Web Console for Linux servers

...
$
Copy after login

The second package above is the one you want (the line starting with cockpit/hirsute). If you decide to install it, enter:

$ sudo apt install cockpit
Copy after login

apt will take care of installing Cockpit and any components or dependencies required to make it work. Sometimes we're not quite sure this is what we need. Knowing more may help you decide whether you really want to install this application.

Package metadata

To learn more about a package, use the apt show command:

$ apt show cockpit
Package: cockpit
Version: 238-1
Priority: optional
Section: universe/admin
Origin: Ubuntu
Maintainer: Ubuntu Developers 
Original-Maintainer: Utopia Maintenance Team 
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 88.1 kB
Depends: cockpit-bridge (>= 238-1), cockpit-ws (>= 238-1), cockpit-system (>= 238-1)
Recommends: cockpit-storaged (>= 238-1), cockpit-networkmanager (>= 238-1), cockpit-packagekit (>= 238-1)
Suggests: cockpit-doc (>= 238-1), cockpit-pcp (>= 238-1), cockpit-machines (>= 238-1), xdg-utils
Homepage: https://cockpit-project.org/
Download-Size: 21.3 kB
APT-Sources: http://ca.archive.ubuntu.com/ubuntu hirsute/universe amd64 Packages
Description: Web Console for Linux servers
 The Cockpit Web Console enables users to administer GNU/Linux servers using a
 web browser.
 .
 It offers network configuration, log inspection, diagnostic reports, SELinux
 troubleshooting, interactive command-line sessions, and more.

$
Copy after login

Pay special attention to the Description field, which will tell you more information about the application. The Depends field describes what else must be installed, while Recommends shows what other (if any) partner components are recommended for installation. The Homepage field provides a URL where you can learn more.

Which package provides this file?

Sometimes you don’t know the package name, but you know that the package must contain a certain file. Seth uses the qmake-qt5 program as an example. Can't find it using apt search:

$ apt search qmake-qt5
Sorting... Done
Full Text Search... Done
$
Copy after login

However, another related command, apt-file, can be used to explore the inside of the package:

$ apt-file search qmake-qt5
qt5-qmake-bin: /usr/share/man/man1/qmake-qt5.1.gz
$
Copy after login

A qmake-qt5 man page will be displayed. It is part of a package called qt5-qmake-bin. Note that this package name reverses the order of the strings qmake and qt5.

What files are included in the package?

The convenient apt-file command lists which files are included in a given package. For example:

$ apt-file list cockpit
cockpit: /usr/share/doc/cockpit/TODO.Debian
cockpit: /usr/share/doc/cockpit/changelog.Debian.gz
cockpit: /usr/share/doc/cockpit/copyright
cockpit: /usr/share/man/man1/cockpit.1.gz
cockpit: /usr/share/metainfo/cockpit.appdata.xml
cockpit: /usr/share/pixmaps/cockpit.png
$
Copy after login

Note that this is different from the information provided by the apt show command, which lists the package's dependencies (other packages that must be installed).

Remove an application

You can also use apt to remove packages. For example, to remove the apt-file application:

$ sudo apt purge apt-file
Copy after login

Note that apt must be run by superuser to install or remove applications.

Removing a package does not automatically remove all dependencies installed by apt in the process. However, these residues are easily removed with a little work:

$ sudo apt autoremove
Copy after login

Get to know apt

As Seth writes, "The more you know about how a package manager works, the easier it will be when you need to install and query applications."

Even if you are not a heavy apt user, there are some apt tips to know when you need to install or remove packages from the command line (for example, on a remote server or following some kindly published how-to guide) Knowledge will also be useful. In the case where some software creators only provide a bare .pkg file, some knowledge about dpkg (as mentioned above) may also be required.

I find the Synaptic package manager to be a very useful tool on my desktop, but I also use apt on a handful of servers I maintain for various purposes.

Managing software on Linux can get very complicated, but APT can help us overcome these challenges. Mastering the use of APT can effectively improve our production efficiency and ensure the safety and stability of the system. I hope this article can help you better understand APT and provide you with strong support for software package management on Linux systems.

The above is the detailed content of Master APT and easily manage Linux software. For more information, please follow other related articles on the PHP Chinese website!

source:lxlinux.net
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template