Linux 中关于包安装命令 apt、yum、dpkg、rpm 的区别

Linux 两大派系

介绍这几个命令之前,需要先了解下 Linux 两大派系:Debian 系列和 RedHat 系列。

  • Debian 系列:Debian、Ubuntu 等;国产包括深度 uos、银河麒麟、普华等。
  • RedHat 系列:Redhat、Centos、Fedora 等;国产包括中标麒麟等。

两种包管理工具

两大派系都有自己的一套软件包管理工具和安装包格式。

  • Debian 系列的包管理工具是 apt(或 apt-get),安装包格式 deb 包。

deb 包安装命令:

1
sudo dpkg –i 软件包.deb

deb 包卸载命令:

1
sudo dpkg -r 软件包名

这里 r 表示 remove package

  • RedHat 系列的包管理工具是 yum,安装包格式 rpm 包。

rpm 包安装命令:

1
sudo rpm –ivh 软件包.rpm

rpm 包卸载命令:

1
Sudo rpm –e 软件包.rpm

这里 e 表示 erase (uninstall) package

查看软件包依赖关系

1
2
3
apt-cache depends 软件包 # 依赖哪些包

apt-cache rdepends 软件包 # 被哪些包依赖
1
2
3
4
yum deplist 软件包 # 依赖哪些包
或者 rpm -qR 软件包 # 查软件包依赖哪些包,R表示requires

rpm -e --test 软件包 # 被哪些包依赖

通过–test 进行测试删除,查看是否有依赖关系,如果有会阻止删除

apt 和 dpkg 区别

  • apt 是会解决和安装模块的依赖问题,并会咨询软件仓库,是在线安装
  • dpkg 只能安装本地的 deb 文件,不会关心 ubuntu 软件仓库的软件,不会解决模块的依赖关系

总结表格

Linux 派系 Debian 系列 RedHat 系列
安装包格式 deb 包 rpm 包
包管理命令 dpkg rpm
安装命令 dpkg –i xx.deb rpm –ivh xx.rpm
卸载命令 dpkg -r xx.deb rpm –e xx.rpm
包管理工具 apt yum
安装 / 卸载命令 apt install/remove xx yum install/remove xx
查询安装包 dpkg -l | grep xx rpm –qa | grep xx
查询依赖哪些 apt-cache depends xx yum deplist xx
查询被哪些依赖 apt-cache rdepends xx rpm -e –test xx