LFCA:如何在Linux中管理软件包 – 第7部分

本文是LFCA系列的第7部分,在本部分中,您将了解Linux系统中管理软件包的一般系统管理命令。

作为系统管理员,您将负责管理软件包。这包括在系统中安装、升级和删除或卸载软件包。

Linux系统中有两种类型的软件包:

  • 二进制软件包:这些包含配置文件、可执行文件、man页面以及其他文档。对于Debian,二进制软件包具有.deb文件扩展名。对于Red Hat,二进制软件包具有.rpm文件扩展名。二进制软件包使用Debian实用程序dpkg进行解包 – 对于.deb二进制文件和rpm二进制软件包,我们稍后将看到。
  • 源代码软件包:源代码软件包是一个压缩文件,其中包含应用程序的源代码、软件包的简要描述以及构建应用程序的说明。

不同的Linux发行版有自己的软件包管理器,这里我们将看看2个Linux家族:DebianRed Hat

Debian软件包管理

Debian提供APT(高级软件包管理器)作为前端软件包管理解决方案。它是一个功能强大的命令行实用程序,可以与核心库一起工作,并允许您从系统中下载、安装、更新和删除软件包。

在Debian/Ubuntu系统中安装软件包

如果您来自Windows环境,则习惯于从软件供应商下载.exe软件包,并在系统上运行安装向导进行安装。

在Linux中,安装应用程序有所不同。软件包是从在线存储库中下载和安装的,使用软件包管理器。存储库列表定义在/etc/apt/sources.list文件和/etc/sources.list.d目录中。

在基于Debian的发行版中,使用APT软件包管理器从在线存储库中下载和安装软件包。它不仅安装软件包,还安装软件包所需的依赖项。

在安装任何软件包之前,始终建议更新/etc/apt/sources.list文件中的存储库。要完成此操作,请运行以下命令:

$ sudo apt update

要安装软件包,请使用以下语法:

$ sudo apt install package_name

例如,要安装Apache Web 服务器,请运行以下命令:

$ sudo apt install apache2
Install Apache in Ubuntu

在安装软件包之前搜索

要搜索存储库中软件包的可用性,请使用以下语法:

$ apt search package_name

例如,要搜索名为neofetch的软件包的可用性,请运行以下命令:

$ apt search neofetch
Search for Package in Ubuntu

显示软件包信息

要显示有关软件包的更多信息,请使用apt 命令如下。

$ apt show package_name

例如,要查看有关neofetch软件包的更多信息,请运行:

$ apt show neofetch
Check Package Info in Ubuntu

升级 Ubuntu 中的软件包

要升级系统上已安装的软件包,请运行以下命令:

$ sudo apt upgrade

在 Ubuntu 中删除软件包

要删除一个软件包,比如apache2,请运行以下命令:

$ sudo apt remove apache2

要删除软件包以及配置文件,请使用如下的清除选项。

$ sudo apt purge apache2

dpkg 软件包管理器

基于 Debian 的 Linux 发行版还提供 dpkg 软件包管理器。这是一个处理在安装过程中不需要任何依赖的二进制软件包的低级软件包管理器。如果 dpkg 检测到一个二进制软件包文件需要依赖项,它会报告缺少的依赖项并停止。

要从 .deb 文件安装软件包,请使用以下命令:dpkg

$ sudo dpkg -i package.deb

例如,要安装 AnyDesk 软件包,执行以下命令:

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

要检查软件包是否已安装,请运行以下命令:

$ sudo dpkg -l anydesk
Verify Package in Ubuntu

要删除软件包,请使用如下的 -r 选项:

$ sudo dpkg -r anydesk
Remove Package in Ubuntu

要删除软件包以及所有配置文件,请使用 -P 选项以清除与软件包关联的所有文件。

$ sudo dpkg -P anydesk

YUM / DNF 和 RPM 软件包管理

现代的RedHat Linux发行版,如RHELCentOS 8,以及Fedora 21及更高版本使用DNF(Dandified YUM),这是目前已废弃的YUM软件包管理器的升级版本,而YUM曾是旧版本Red Hat Linux发行版(如RedHat和CentOS 7)的事实标准软件包管理器。

类似于APTDNFYUM软件包管理器用于从在线仓库安装软件包。

在CentOS中安装软件包

安装软件包时,使用以下语法:

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

例如,要安装Apache httpd软件包,请运行以下命令:

$ sudo dnf install httpd
OR
$ sudo yum install httpd

搜索软件包

您还可以按以下方式搜索仓库中软件包的可用性:

$ sudo dnf search mariadb

更新软件包

要将所有软件包更新到最新版本,请执行:

$ sudo dnf update 
OR
$ sudo yum  update 

删除软件包

要删除软件包,请运行:

$ sudo dnf remove package_name
OR
$ sudo yum remove  package_name

例如,要删除httpd软件包,请运行

$ sudo dnf remove httpd
OR
$ sudo yum remove httpd

RPM软件包管理器

RPM 软件包管理器是另一个开源软件包管理工具,用于在 RedHat Linux 发行版上处理 .rpm 二进制软件包。就像 APT 软件包管理器一样,rpm 管理二进制软件包。

安装软件包

要使用 .rpm 文件安装应用程序,请使用以下语法:

$ sudo rpm -i package_name

例如,要从显示的 .rpm 文件安装 AnyDesk 应用程序,请运行以下命令:

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

要验证或检查系统上软件应用程序的存在,请使用以下语法:

$ sudo rpm -q package_name

例如,要检查是否安装了 Anydesk,请运行以下命令:

$ sudo rpm -q anydesk
Verify Package Installation

要查询所有当前软件包,请使用以下命令:

$ sudo rpm -qa
Query Software Packages

删除软件包

要使用 rpm 命令卸载软件包,请使用以下语法:

$ sudo rpm -e package_name

例如:

$ sudo rpm -e anydesk
结论

aptdpkgrpmdnfyum 命令是方便的命令行工具,可帮助您在 Linux 系统上安装、更新和删除软件包。

Source:
https://www.tecmint.com/manage-software-packages-in-linux/