包管理介绍(DPKG,APT,RPM,YUM,DNF)
linux操作系统下载软件的方式与Windows有很大不同。软件通常都是存放在存储库中,并通过包的形式进行分发。处理包的工作被称为包管理。
比较常见的包管理工具有DPKG,APT,RPM,YUM,DNF等。熟悉Linux包管理操作可以让你更方便的使用linux系统。
首先说一下debian一系的。
debian 及其衍生版,如 Ubuntu的包格式是 .deb。在本地系统中可以使用 DPKG程序来安装单个的 deb 文件,还可以通过一些命令直接从软件仓库中下载。但是需要手工解决软件包的依赖关系。很多时候安装一个软件需要安装1个或者多个其他软件,手动解决时,很复杂。APT个是一个 dpkg 包管理系统的前端工具,它是一个非常受欢迎的、自由而强大的,有用的命令行包管理器系统。不需要自己解决安装包之间的依赖关系,比dpkg更方便。在基于 Debian 的 Linux 发行版中,有各种工具可以与 APT 进行交互,以方便用户安装、删除和管理的软件包。apt-get 便是其中一款广受欢迎的命令行工具,然而在Ubuntu16发布后又引入了新的命令行工具apt(和上面的APT包管理系统不一样)apt可以看作是apt-get的加强版,是apt-get,apt-cache,apt-config三种的集合,除此之外apt还具有其他的优点如显示进度条等。
dpkg常用的命令有
dpkg -i package.deb #安装包
dpkg -r package #删除包
dpkg -l package #显示该包的版本
dpkg -l #列出当前已安装的
apt常用的命令有
apt install package #安装包
apt remove package #卸载安装包
apt autoremove #检测并清除无用的安装包
apt update&upgrade package #更新所有安装包
另外就是Red Hat一系的,CentOS、Fedora 和其它 Red Hat 家族成员使用 rpm文件。rpm软件包形式的管理虽然方便但仍需要自己解决依赖关系。YUM是rpm的前端程序,主要目的是设计用来自动解决rpm的依赖关系, yum仓库用来存放所有的现有的.rpm包,当使用yum安装一个rpm包时,需要依赖关系,会自动在仓库中查找依赖软件并安装。仓库可以是本地的,也可以是HTTP、FTP、nfs形式使用的集中地、统一的网络仓库。
常用的rpm命令有
rpm -ivh package.rpm #安装软件包
rpm -Uvh package.rpm #升级软件包
rpm -e package.rpm #卸载软件包
rpm -qpi package.rpm #查询软件包的信息
常用的YUM命令
yum info package #查看软件包信息
yum install package #安装软件
yum remove package #卸载软件
yum check-update #检查是否有可更新的软件包
在Fedora中又开始采用一种新的DNF包管理,是新一代的yum,欲以代替yum。DNF包管理器克服了YUM包管理器的一些瓶颈,提升了包括用户体验,内存占用,依赖分析,运行速度等多方面的内容。DNF使用 RPM, libsolv 和 hawkey 库进行包管理操作。在Fedora22中代替了yum。 DNF 并未默认安装在 RHEL 或 CentOS 7系统中,.要想安装 DNF ,您必须先安装并启用 epel-release 依赖。
在系统中执行以下命令:
yum install epel-release
yum install dnf
常用的DNF命令:
dnf info package #查看软件包信息
dnf install package #安装软件
dnf remove/erase package #卸载软件
dnf check-update #检查是否有可更新的软件包
dnf autoremove #删除无用的软件包
dnf history #显示输入历史