LFCA:如何在 Linux 中管理软件包 - 第 7 部分
本文是LFCA 系列的第 7 部分,在本部分中,您将熟悉管理 Linux 系统中软件包的通用系统管理命令。
作为系统管理员,您将负责管理软件包。这包括安装、升级以及从系统中删除或卸载软件包。
Linux 系统中有两种类型的软件包:
- 二进制包:这些包包含配置文件、可执行文件、手册页以及其他文档。对于Debian,二进制包的文件扩展名为.deb。对于Red Hat,二进制包的文件扩展名为.rpm。使用 Debian 实用程序dpkg解压二进制包- 针对.deb二进制文件,使用rpm 解压.rpm二进制包,我们将在后面看到。
- 源包:源包是一个压缩文件,其中包含应用程序的源代码、包的简要说明以及如何构建应用程序的说明。
不同的 Linux 发行版有自己的包管理器,这里我们将介绍两个 Linux 家族:Debian和Red 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
安装前搜索软件包
要在存储库中搜索包的可用性,请使用以下语法:
$ apt search package_name
例如,要搜索名为neofetch的包的可用性,请运行以下命令:
$ apt search neofetch
显示包信息
要显示有关软件包的更多信息,请使用如下apt 命令。
$ apt show package_name
例如,要显示有关neofetch包的更多信息,请运行:
$ apt show neofetch
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
例如,要从显示的Debian文件安装AnyDesk包,请执行:
$ sudo dpkg -i anydesk_6.1.0-1_amd64.deb OR $ sudo dpkg --unpack anydesk_6.1.0-1_amd64.deb
要检查包是否已安装,请运行以下命令:
$ sudo dpkg -l anydesk
要删除该包,请使用-r
如下选项:
$ sudo dpkg -r anydesk
要删除该包及其所有配置文件,请使用-P
清除与该包关联的所有文件的选项。
$ sudo dpkg -P anydesk
YUM / DNF 和 RPM 包管理
现代RedHat Linux 发行版(例如RHEL和CentOS 8以及Fedora 21及更高版本)使用DNF(Dandified YUM),它是现已弃用的YUM 包管理器的升级版,后者是旧版本 Red Hat Linux 发行版(例如 RedHat 和 CentOS 7)事实上的包管理器。
与APT一样,DNF或YUM包管理器用于从在线存储库安装包。
在 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
要查询所有当前的软件包,使用以下命令:
$ sudo rpm -qa
删除软件包
要使用 rpm 命令卸载软件包,请使用以下语法:
$ sudo rpm -e package_name
例如:
$ sudo rpm -e anydesk
结论
apt、dpkg、rpm、dnf和yum命令是方便的命令行工具,可以帮助您在 Linux 系统上安装、更新和删除软件包。