14Rocky Linux 软件管理
14Rocky Linux 软件管理
14Rocky Linux 软件管理,票据通软件,电子沙盘软件,组态软件开发软件安装与更新是系统管理的基础工作之一。在这一章中,我们系统性地讨论 Rocky Linux 中软件管理的相关内容,包括:
和其他 Linux 发行版一样,Rocky Linux 同样基于 repos 机制提供软件。其中包括软件包列表、包之间的依赖关系列表、以及其他有用的元数据。
两者的输出完全相同。在 Rocky Linux 8 中,yum是指向dnf命令的符号链接:
在Rocky Linux 高级安装选项一章中,为了加快软件包的安装速度,我把官网默认的源修改成了南京大学的源。
中的内容是节的名称,表示每节的开始,在这个示例中节名是 。包含以下选项:
baseurl:提供软件包资源的位置。在这个示例中,它是一个 https 源。包含的变量,在访问时会被替换成对应值。其他提供软件包资源的方式有 NFS、HTTP 和 FTP。
enabled:定义了在系统中启用或禁用该仓库。当值为 时,启用仓库,值为 时,禁用仓库。
gpgcheck:验证软件包的机制。当值为 时被启用,所有使用 dnf/yum 安装在系统中的软件包将被使用它们的 gpg 签名与提供的密钥进行验证。
要查看系统中的所有仓库,可以使用dnf repolist --all命令,它同时还显示了仓库的状态:
可以通过以下两条命令启用或禁用指定的仓库,repoName 表示仓库名称:
可以看到新添加的 repo 缺少了选项,不过我们依然能够安装 EPEL 中的screen包:
可以看到,我们在文件中添加了gpgcheck 和 gpgkey 条目。再次安装screen包:
我们刚刚验证了使用的签名与管理它的项目所公布的指纹相同,所有从这个 repo 下载的软件包都将被验证,以避免软件包被篡改。
在上一节中,我们安装了软件包。在安装包的过程中,有一个交互性的操作,以便我们确认在系统中安装新的软件。
zip包被安装了,并且还安装了依赖包unzip,也没有再让我们输入 。dnf会找到依赖的软件包,解析依赖,并安装包运行时所需的所有内容。通过这种方式,系统保持了一致的状态、以及更加可靠和可预测。
我们可以通过dnf check-update命令查看哪些包提供了可用的更新:
内核是系统中最重要的部分。它支持硬件访问和操作系统的所有基本功能。这就是为什么,不是升级内核,而是安装一个新版本。系统会保留前两个版本,以防系统无法启动,并且我们可以指定运行哪个版本的内核。
有一些软件包组合在一起执行特定的任务,它们被称为 package group。可以通过dnf grouplist命令查看包组:
dnf groupinstall命令用来包组。我们用它来安装系统工具组:
可以使用dnf history rollback命令,回退系统中通过dnf管理的软件包到指定的点。
这时,会提示我们输入 y,以删除事务 15 安装的 “net-tools” 包。如果回退的点之后有多个事务,这些事务都会被撤销。
还可以使用dnf history undo撤销指定的事务。我的示例中,在事务 13 的位置删除了screen,可以使用undo子命令,撤销事务 13 删除 screen 软件包的操作:
也可以在执行 rollback/undo 时指定 参数,避免交互式操作:
在 Rocky Linux 8 中,有一个新特性:模块化。它使系统中的同一个软件包可以有多个版本。所有这些都是由dnf提供的,不需要安装额外的软件:
不指定任何包的dnf module list命令,将显示模块的完整列表。
更多模块化的相关信息,可以通过man dnf.modularity命令,进入手册页查看。
有时我们会下载 RPM 文件到某个目录,有时会构建自己的 RPM 文件,然后分发它们,为此,我们需要创建一个 repo。
createrepo命令用来创建仓库,我们在 目录下创建 repos 目录:
在当前目录中创建一个名为 的目录,它是一个通信工具,我们把它的 RPM 文件下载到 目录中:
在仓库中可以包含很多 RPM 文件,我们的示例中仅是单独的 RPM 包。
我们看到创建了 目录,该目录中包含 文件,定义了存储库的内容、以及最新创建的索引文件:
接着把仓库添加到系统中。仓库可以不使用 gpg 签名,将 gpgcheck 的值设置为 0。但为了更好的安全性,我们使用签名。可以把 slack 的相关签名下载到 目录中:
现在,我们尝试安装slack。要运行slack,需要安装 GUI 包组,但出于演示目的,我们仅安装slack。执行dnf install -y slack命令安装包,安装的过程中,还会导入 gpg 密钥验证包:
如果有新版本的slack,我们可以把它下载到同一目录中,并再次运行createrepo命令重新生成仓库索引。这样,所有包含该仓库的系统,在执行dnf update时,都会更新slack。这是一个让所有系统保持标准化和相同版本的好方法。
有时,我们希望在系统中保存仓库的本地副本。为此,我们可以使用reposync工具。
作为演示,我们禁用除 “baseos” 外的所有仓库,但别忘记在本章结束后再把它们启用:
禁用仓库还有另外一个方法,就是修改 repo 文件的后缀,改成非 结尾。
--newest-only:仅最新版。仓库保留了自第一次发布以来的软件包的所有版本,加上此参数,仅下载最新版的软件包。
--download-metadata:为了确保我们下载的是一个功能齐全的 repo,并且无需再执行createrepo命令,我们可以添加该选项,它将检索源仓库中的所有元数据。
--destdir /var/tmp/repos:为下载的文件指定目标目录。它将为每个配置的 repo 创建一个目录,所以指定的目录是所有 repo 的父目录。
有了这个复制来的仓库,我们就可以在网络隔离的环境中使用dnf包管理工具了。
在学习了 repos 的基础知识以及如何使用它们来管理软件之后,让我们深入了解它背后的技术,即红帽软件包管理器 (Red Hat Package Manager),简称 RPM。
Linux 发行版往往有自己的包管理器,从 Debian 的 .deb 到 Arch Linux 的 Pacman,以及其他不同的包管理器。软件包管理器的目的是让系统安装、更新软件,维护依赖关系更方便,并管理系统上所安装软件的内部数据库。RPM 被 Fedora、CentOS、Oracle Linux 等发行版本使用,当然还有 Rocky Linux。
为了管理 RPM,系统提供了rpm命令。然而,自从引入yum/dnf后,已经很少在系统中使用rpm了。
相关文章
- 抖音黑科技软件对于短视频创作者来讲就是福音
- 12月7日润和软件现2046万元大宗交易
- 17版ThinkPad X1Carbon 精雕细琢终成器
- 居间服务、软件技术开发上百万的个人发票怎么开具?总税率不到2%
- 武汉光迅科技股份有限公司关于召开 2022年第三次临时股东大会的通知
- Photoshop图标(icon)设计分享
- iOS15疑似支持应用分屏却没有长截图国产手机已用很多年
- 手写转文字的软件叫什么?分享三个实用的转换工具
- SmartisanOS宣布回归!疑似界面提前曝光:能无线控制智慧屏
- 我有我的百变造型 时尚发型类软件精选
- 游戏时刻APP:端游手游一键录制超神时刻手机躺看大神直播
- 武汉美联英语软件包装
- 【全球热门公司周报】山姆售卖山寨Dior涉嫌欺诈销售;腾讯QQ阅读电子书将停运;娃哈哈集团否认参与“娃茅”白酒;吉利汽车入股阿斯顿马丁;经济学家任泽平炮轰苹果割高端韭菜;贾跃亭回应重获FF控制权
- 苏炳添起诉得物APP侵权得物回应系微信编辑误用图片
- 详解锁屏勒索软件及其危害性
- 有啥好用的唱歌软件(什么唱歌的软件好用)
- 我微信里说话最多的不会是文件传输助手了?
- XP过期怎么办 一款拯救XP的免费软件来了
- 腾讯极光盒子怎么安装第三方软件?图文教程手把手教你安装
- 0220板块利好及个股尺规作图软件