包管理器
对于任何一个 Linux 基础发行版,一个很重要的特征就是包管理工具,Loongnix Server 系统使用的包管器是 DNF/YUM,包格式为 RPM。
1. DNF/YUM 简介
1.1. 包管理工具YUM
YUM(Yellow dog Updater,Modified)包管理工具可以方便地通过系统设置的软件仓库地址和本地存放的 rpm 数据库来管理当前系统的软件包,可以安装、升级和删除系统的各个软件包。
YUM 包管理工具作为 RedHat/Fedora Linux 的主流包管理工具使用 10 多年,但 YUM 效率随着软件仓库的软件包数量的不断增多而表现出性能低下,伴随着内存占用高以及依赖包解决方案不佳等系列问题长期得不到解决,因此出现了 DNF。
1.2. 包管理工具DNF
DNF(Dandified yum)包管理工具在依赖包解决方案中采用了由 SUSE 开发的"libsolv"库,用以提升依赖包解析性能。DNF 最早出现在 Fedora 18 这个版本中,之后不断改进和成熟,到 Fedora 22 版本和 RHEL8 中则作为可以取代 YUM 的工具成为了默认的包管理工具。
Centos 8 中也默认使用的软件管理工具由原版本的 yum 换成 dnf,而 centos 8 默认提供的 yum 命令仅为 dnf 的软链接。CentOS 8 附带的yum包管理器使用 DNF 技术作为后端。DNF功能强大且具有健壮的特征。与YUM相比,DNF所具有的优势主要有如下:
- DNF代码比YUM要简单,大约有29000行代码,而yum代码有59000多行。
- 执行速度更快,比yum消耗更少内存。
- 依赖包解析速度比yum更快。
DNF的出现,是为了解决Yum系统的性能瓶颈,优化内存使用,依赖关系解析,执行速度等,yum已被DNF取代。这不仅仅是解决yum中待解决的问题。此外,DNF添加了许多功能,以实现基于RPM的系统中软件包的无缝管理。与yum一样,使用dnf --help命令可以查看使用参数。
2. Loongnix Server 中的包管理器
与 Centos 8 一致,在 Loongnix Server 系统中我们使用包管理工具的 yum 也是 dnf 的软链接。
[root@bogon ~]# uname -r
4.19.190-6.2.4.lns8.loongarch64
[root@bogon ~]# ls -l /usr/bin/yum
lrwxrwxrwx 1 root root 5 2月 23 22:49 /usr/bin/yum -> dnf-3
3. DNF 常用命令
Loongnix Server 系统中以rpm作为包格式,可以通过DNF工具来管理系统的软件仓库,用于安装、更新及删除软件包。由于在 Loongnix Server 系统包管理工具的 yum 是 dnf 的软链接。常用命令介绍部分统一使用yum命令,与使用dnf效果是一致的。
用户可以通过在系统终端执行 yum --help 命令查看 yum 参数,常用的命令列表如下:
命令 | 功能 |
---|---|
autoremove | 删除所有原先因为依赖关系安装的不需要的软件包 |
check-update | 检查是否有软件包升级 |
clean | 删除已缓存的数据 |
downgrade | 降级包 |
distro-sync | 同步已经安装的软件包到最新可用版本 |
install | 向系统中安装一个或多个软件包 |
list | 列出一个或一组软件包 |
makecache | 创建元数据缓存 |
provides | 查找提供指定内容的软件包 |
reinstall | 重装一个包 |
remove | 从系统中移除一个或多个软件包 |
repolist | 显示已配置的软件仓库 |
repository-packages | 对指定仓库中的所有软件包运行命令 |
search | 在软件包详细信息中搜索指定字符串 |
upgrade | 升级系统中的一个或多个软件包 |
repoquery | 搜索匹配关键字的软件包 |
info | 显示关于软件包或软件包组的详细信息 |