【RHCSA 问答题】第 12 章 安装和更新软件包
目录
- 什么是 RPM?
- dnf 是什么,它和 rpm 有什么联系和区别?
- 如何设置禁止直接远程登录 root 账户?
- RHEL 中如何做才能启用对第三方存储库的支持?
- 怎么理解 RHEL9 中的应用流(Application Streams)和模块(Modules)?
- RHEL9 有两个必要的软件存储库,分别是什么,它们的主要区别是什么?
什么是 RPM?
RPM(Red Hat Package Manager)是一种用于在 Red Hat 系 Linux(RHEL、CentOS、Fedora、AlmaLinux、Rocky Linux 等)系统中安装、卸载、升级和管理软件包
的底层包管理工具和包格式。它以 .rpm
为后缀,包含软件及其元数据,方便系统统一管理软件。
特点:不解决依赖
。
形式:名字-版本-发行版本-架构-后缀
。
dnf 是什么,它和 rpm 有什么联系和区别?
dnf(Dandified YUM)是基于 RPM 的智能包管理工具,用于安装、升级、卸载和管理
软件包,能自动处理依赖
,适用于现代 RHEL 系统。
dnf = rpm(底层包管理)+ yum(联网依赖解决) + 现代功能改进
。
出于兼容性考虑,yum 命令依然作为 dnf 的符号链接 而存在
如何设置禁止直接远程登录 root 账户?
将sshd守护进程的主配置文件/etc/ssh/sshd_config
里面的 PermitRootLogin yes
修改为 PermitRootLogin no
。
然后重启SSH服务使修改生效:systemctl restart sshd
RHEL 中如何做才能启用对第三方存储库的支持?
在/etc/yum.repos.d/
目录中创建一个文件,这个文件就是第三方存储库配置文件。文件必须以.repo
扩展名结尾
。存储库定义包括存储库的URL
和名称
,也定义是否启用GPG检查
来验证软件包的完整性和来源真实性。
sudo vim /etc/yum.repos.d/example.repo [example-repo]
name=Example Repository # 仓库的名称
baseurl=http://example.repo.url/repo/ # 仓库地址
enabled=1 # 设置为 1 表示启用仓库
gpgcheck=0 # 设置为 0 表示不检查 GPG 签名
怎么理解 RHEL9 中的应用流(Application Streams)和模块(Modules)?
应用流是一种支持软件多版本共存
的机制,让用户根据需求选择特定版本的软件,满足不同场景需求,而不是被系统默认版本限制。每个应用流代表一组特定版本的软件集合
,包括应用程序、库和工具。
模块是实现应用流的组织单元
,它将相关的软件包打包成可选的模块,每个模块中可能包含一个或多个应用流(版本)
。用户可以通过启用、安装或禁用模块,选择特定版本的软件,灵活管理系统软件。
简而言之,应用流是“多版本共存”的功能,模块是实现这一功能的技术载体和管理单元。
RHEL9 有两个必要的软件存储库,分别是什么,它们的主要区别是什么?
RHEL9 有两个必要的软件存储库:BaseOS
和 AppStream
。
BaseOS 提供系统的核心组件和基础功能
,包含操作系统运行所需的基本 RPM 包,注重稳定性和兼容性,是构建稳定操作系统
的基础。
AppStream 提供用户空间的应用软件和开发工具
,支持多版本的软件包共存
(通过应用流和模块实现),应用程序可以更灵活地选择版本
,适合各种应用场景。