关于linux发行版以及发行版对应的包管理工具的简单说明
Linux大的分支图示:
基本概念:
linux有不同的发行版:每一个大的分支的发行版都有对应的包安装工具(eg:apt,yum),一般使用类似于apt这种工具就很方便,因为下载一个软件时,
会自动帮你下载并安装这个软件所需要的依赖,如果有可以依赖的库就可以共享,但是如果共享的库版本不同导致bug就很麻烦。sanp工具包就不会出现这
种情况,snap是每一个软件都有对应的一套依赖下载,不管存在还是不存在相同的依赖,好处是不会出现依赖的库版本问题,缺点是相同的版本库有可能过多,
但是又不能共享,由此造成资源的浪费。
补充1:现在所有的linux发行版都可以用snap
补充2:国产的基于linux的发行版的操作系统又一个我知道的:deepin
补充3:对于ubantu所使用软件包情况,可见官网:[https://packages.debian.org/bullseye/nginx)
](https://packages.debian.org/bullseye/nginx)
补充4:对于使用不同的包管理工具下载库时,可能下载的库名字不同,就会导致下载失败。
1.dpkg
Ubuntu、Debian
dpkg 命令是 Debian Linux 系统用来安装、创建和管理软件包的实用工具。
2.apt
Ubuntu、Debian
apt-get 命令是 Debian Linux 发行版中的 APT 软件包管理工具。所有基于 Debian 的发行都使用这个包管理系统。
deb 包可以把一个应用的文件包在一起,大体就如同 Windows 上的安装文件。
3.rpm
RHEL、CentOS
rpm 命令是 RPM 软件包的管理工具。rpm 原本是 Red Hat Linux 发行版专门用来管理 Linux 各项套件的程序,由于它遵循 GPL 规则且功能强大方便,
因而广受欢迎。逐渐受到其他发行版的采用。RPM 套件管理方式的出现,让 Linux 易于安装,升级,间接提升了 Linux 的适用度。
4.yum
CentOS6、CentOS7
yum 命令是在 Fedora 和 RedHat 以及 SUSE 中基于 rpm 的软件包管理器,它可以使系统管理人员交互和自动化地更新与管理 RPM 软件包,
能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。
命令行使用
# 5.yum(选项)(参数)
$ yum --help
Loaded plugins: fastestmirror, langpacks
Usage: yum [options] COMMAND
6.dnf
RHEL8、CentOS8
DNF 使用 libsolv 进行依赖解析,由 SUSE 开发和维护,旨在提高性能。Yum 主要是用 Python 编写的,它有自己的应对依赖解析的方法。
它的 API 没有完整的文档,它的扩展系统只允许 Python 插件。Yum 是 RPM 的前端工具,它管理依赖关系和资源库,然后使用 RPM 来安装、
下载和删除包。
由于 Yum 中许多长期存在的问题仍未得到解决,因此 Yum 包管理器已被 DNF 包管理器取代。这些问题包括性能差、内存占用过多、依赖解析速度变慢等。
两个管理包工具的更多区别可以查看,What is the difference between DNF and YUM? 进行阅读。
参考:
https://blog.csdn.net/weixin_44479059/article/details/126302172