DNF辅助咨询网DNF辅助咨询网

欢迎光临
我们一直在努力

[热文]14RockyLinux软件管理


软件安装与更新是系统管理的基础工作之一。在这一章中,我们系统性地讨论 Rocky Linux 中软件管理的相关内容,包括:

和其他 Linux 发行版一样,Rocky Linux 同样基于 repos 机制提供软件。其中包括软件包列表、包之间的依赖关系列表、以及其他有用的元数据。

在Rocky Linux 高级安装选项一章中,为了加快软件包的安装速度,我把官网默认的源修改成了南京大学的源。

baseurl:提供软件包资源的位置。在这个示例中,它是一个 https 源。包含的变量,在访问时会被替换成对应值。其他提供软件包资源的方式有 NFS、HTTP 和 FTP。

gpgcheck:验证软件包的机制。当值为 时被启用,所有使用 dnf/yum 安装在系统中的软件包将被使用它们的 gpg 签名与提供的密钥进行验证。

要查看系统中的所有仓库,可以使用dnf repolist --all命令,它同时还显示了仓库的状态:

可以看到新添加的 repo 缺少了选项,不过我们依然能够安装 EPEL 中的screen包:

可以看到,我们在文件中添加了gpgcheck 和 gpgkey 条目。再次安装screen包:

我们刚刚验证了使用的签名与管理它的项目所公布的指纹相同,所有从这个 repo 下载的软件包都将被验证,以避免软件包被篡改。

在上一节中,我们安装了软件包。在安装包的过程中,有一个交互性的操作,以便我们确认在系统中安装新的软件。

zip包被安装了,并且还安装了依赖包unzip,也没有再让我们输入 。dnf会找到依赖的软件包,解析依赖,并安装包运行时所需的所有内容。通过这种方式,系统保持了一致的状态、以及更加可靠和可预测。

内核是系统中最重要的部分。它支持硬件访问和操作系统的所有基本功能。这就是为什么,不是升级内核,而是安装一个新版本。系统会保留前两个版本,以防系统无法启动,并且我们可以指定运行哪个版本的内核。

有一些软件包组合在一起执行特定的任务,它们被称为 package group。可以通过dnf grouplist命令查看包组:

可以使用dnf history rollback命令,回退系统中通过dnf管理的软件包到指定的点。

这时,会提示我们输入 y,以删除事务 15 安装的 “net-tools” 包。如果回退的点之后有多个事务,这些事务都会被撤销。

还可以使用dnf history undo撤销指定的事务。我的示例中,在事务 13 的位置删除了screen,可以使用undo子命令,撤销事务 13 删除 screen 软件包的操作:

在 Rocky Linux 8 中,有一个新特性:模块化。它使系统中的同一个软件包可以有多个版本。所有这些都是由dnf提供的,不需要安装额外的软件:

有时我们会下载 RPM 文件到某个目录,有时会构建自己的 RPM 文件,然后分发它们,为此,我们需要创建一个 repo。

在当前目录中创建一个名为 的目录,它是一个通信工具,我们把它的 RPM 文件下载到 目录中:

接着把仓库添加到系统中。仓库可以不使用 gpg 签名,将 gpgcheck 的值设置为 0。但为了更好的安全性,我们使用签名。可以把 slack 的相关签名下载到 目录中:

现在,我们尝试安装slack。要运行slack,需要安装 GUI 包组,但出于演示目的,我们仅安装slack。执行dnf install -y slack命令安装包,安装的过程中,还会导入 gpg 密钥验证包:

如果有新版本的slack,我们可以把它下载到同一目录中,并再次运行createrepo命令重新生成仓库索引。这样,所有包含该仓库的系统,在执行dnf update时,都会更新slack。这是一个让所有系统保持标准化和相同版本的好方法。

--newest-only:仅最新版。仓库保留了自第一次发布以来的软件包的所有版本,加上此参数,仅下载最新版的软件包。

--download-metadata:为了确保我们下载的是一个功能齐全的 repo,并且无需再执行createrepo命令,我们可以添加该选项,它将检索源仓库中的所有元数据。

--destdir /var/tmp/repos:为下载的文件指定目标目录。它将为每个配置的 repo 创建一个目录,所以指定的目录是所有 repo 的父目录。

在学习了 repos 的基础知识以及如何使用它们来管理软件之后,让我们深入了解它背后的技术,即红帽软件包管理器 (Red Hat Package Manager),简称 RPM。

Linux 发行版往往有自己的包管理器,从 Debian 的 .deb 到 Arch Linux 的 Pacman,以及其他不同的包管理器。软件包管理器的目的是让系统安装、更新软件,维护依赖关系更方便,并管理系统上所安装软件的内部数据库。RPM 被 Fedora、CentOS、Oracle Linux 等发行版本使用,当然还有 Rocky Linux。

为了管理 RPM,系统提供了rpm命令。然而,自从引入yum/dnf后,已经很少在系统中使用rpm了。

以上便是dnf脚本下载相关内容,如果对你有所帮助,记得收藏本页方便下次阅读。



推荐阅读:DNF手游获得韩国游戏大奖NEXON斩获六大奖项

www.2803333.com感谢大家的支持和认可!


未经允许不得转载:DNF辅助咨询网 » [热文]14RockyLinux软件管理
分享到: 更多 (0)

联系我们