关于 rhel-fedora
rhel-fedora 是面向 Fedora 和 RHEL 等 RPM 系 Linux 的管理技能。它强调先识别具体发行版与版本分支,再选择软件包、安全、启动或故障排查步骤。
主要功能
- 01区分 Fedora 与企业发行版分支
- 02指导 DNF、RPM 和仓库操作
- 03排查 systemd、启动与内核
- 04考虑 SELinux 和 firewalld
- 05检查升级与容器主机配置
适用场景
- 01诊断软件包和仓库问题
- 02规划特定发行版的版本升级
- 03调查 SELinux 或启动故障
- 04管理 Fedora 与 RHEL 系桌面或服务器
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ iuliandita/ skills --skill rhel-fedora安装后在 Claude Code 中输入/rhel-fedora确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/agent-hygiene.mdbase-linux-and-cli.mdboot-kernel-and-recovery.mdcapture-and-sharing.mdderivatives-and-vendor-quirks.mddesktop-audio-and-bluetooth.mdgotchas-and-special-situations.mdgraphics-and-gaming.mdoutput-contract.mdpackages-and-repos.mdremote-gaming-input-and-tooling.mdsecurity-and-updates.mdsession-display-and-mobile.mdstorage-and-rollback.mdsystemd-and-journal.md详细介绍
RHEL-Fedora:Fedora 和 RHEL 系列系统管理
管理 Fedora、RHEL、Rocky Linux、AlmaLinux、Oracle Linux、Amazon Linux 及其他相近的 RPM 系列系统,同时保留它们之间的重要差异。
首先区分快速迭代的 Fedora 路线与保守的企业路线,然后考虑供应商特有的行为,例如 subscription-manager、CentOS Stream 的偏移、Oracle UEK、Amazon 以云为先的默认设置,以及常被错误归咎于其他层的 SELinux 或 firewalld 行为。
值得固定的版本(已于 2026 年 10 月验证):
仅当版本会实质影响兼容性或故障排查方式时,才在此固定版本。对于常规软件包操作,优先参考发行版当前路线和仓库状态,而不要依赖过时的软件包列表。
| 组件 | 版本 | 重要性 |
|---|---|---|
| Fedora stable | 44 / verify live | 当前主流基线(Fedora 约每 6 个月发布一次,生命周期约 13 个月,版本更新速度快于此表的更新速度;请确认实时状态) |
| Fedora next branch | 45 / verify live | 当问题确实由 Fedora-next 行为导致时很有用 |
| RHEL enterprise lane | 10.x | 新主版本路线中的当前企业基线 |
| RHEL previous major | 9.x | 仍广泛部署,且行为与 10 不同 |
| Rocky Linux | verify live major lane | 与 RHEL 接近,但当前文档和 vault 状态仍然重要 |
| AlmaLinux | verify live major lane | 与 RHEL 接近,但当前发行说明和策略文档仍然重要 |
| Oracle Linux | verify live major lane | 当前 Oracle 路线很重要,但 UEK 与 RHCK 的区别更重要 |
| Amazon Linux | AL2023 / verify live release | 发行说明路线比记住某个小版本更重要 |
| SELinux | verify live | 策略软件包和运行模式比记住版本字符串更重要 |
| DNF | verify live | Fedora 的迭代速度快于企业路线;DNF 5 与旧版预期之间的差异很重要 |
| Podman | verify live | 无 root 模式和 quadlet 行为取决于所提供的发行版路线 |
| Kernel security | verify live via RHSA/FEDORA tracker | 及时修补高严重性提权 CVE;需确认的 2026 年年中示例修复项:Copy Fail CVE-2026-31431(CISA KEV,已遭利用)、Dirty Frag CVE-2026-43284/43500、Fragnesia CVE-2026-46300(ESP-in-TCP,有公开 PoC,不在 CISA KEV 中)、ptrace CVE-2026-46333;较新的漏洞:CVE-2026-53266(netfilter ebtables SNAT,2026-09-18 列入 CISA KEV,Red Hat 评级为 Important;截至 2026-10-02 的检查中未列出 RHEL 勘误) |
对于内核公告,请使用准确的供应商软件包和支持流。Red Hat 将 Copy Fail CVE-2026-31431 评为 Important;请使用所链接的公告和 RHSA 软件包矩阵,确认受影响和已修复的构建版本。 不要将 Ubuntu 内核补丁版本下限套用到 RHEL、Fedora 或下游克隆发行版。
适用场景
- 使用
dnf、yum、rpm、本地.rpm文件、仓库配置或软件包来源进行软件包管理 - Fedora 仓库、COPR、updates-testing、模块化和发行版升级相关工作
- RHEL 订阅、授权、CodeReady Builder、Insights、EPEL 和兼容发行版相关问题
- 在 Fedora 或 RHEL 系统家族上排查 systemd 服务、计时器、启动和日志问题
- GRUB、EFI、
dracut、initramfs、内核、grubby和启动恢复相关工作 - 发行版维护:Fedora
dnf system-upgrade、RHEL 系统家族的主要版本或次要版本迁移、leapp规划 - 安全配置:SELinux 模式、上下文、布尔值、AVC 拒绝、
firewalld、FIPS 相关检查、软件包签名 - 实际属于主机管理的容器主机工作:Podman 软件包、无根运行前提条件、cgroup 或 SELinux 主机集成
- Fedora Workstation 或类似系统上的桌面环境:Wayland 与 X11、GNOME、KDE、门户、PipeWire、蓝牙
- 会话启动和笔记本电脑相关工作:GDM、SDDM、挂起或恢复、电源配置、混合显卡
- GPU 和游戏相关工作:NVIDIA akmods 或 DKMS、Mesa、Vulkan、Steam、Proton、Gamescope、MangoHud
- 采集和通信:OBS、WebRTC 屏幕共享、Discord 或 Teams、门户、虚拟摄像头
- 存储:XFS、ext4、Btrfs、LUKS、LVM、Stratis、TRIM、休眠
- 固件和硬件支持:
fwupdmgr、厂商固件工具、微码、mokutil、Secure Boot - Amazon Linux、RHEL 云镜像、Rocky、Alma 和 Oracle Linux 客户机上的云镜像及虚拟机默认设置
- RPM 系统家族上的基础 Linux 运维:
journalctl、dmesg、lsblk、grubby、rpm -Va、restorecon
不适用场景
- Shell 语法、引号或脚本可移植性——使用 shell-scripting
- 网络架构、DNS、VPN、反向代理或防火墙设计——使用 networking
- Dockerfile、Compose 文件、镜像构建或容器运行时架构——使用 docker
- Kubernetes 集群或清单相关工作——使用 kubernetes
- 通过 playbook 配置 Linux 设备群——使用 ansible
- 安全审查、漏洞分流或攻击性测试——使用 security-audit 或 privilege-escalation
- Arch、CachyOS 或其他 pacman 系统家族——使用 arch-linux
- Debian、Ubuntu、Mint、Pop!_OS 或其他 apt 系统家族——使用 debian-ubuntu
- Fedora Silverblue、Kinoite、Bazzite、Bluefin、Universal Blue、CoreOS、bootc 或其他 rpm-ostree/镜像模式工作流——不属于此技能范围;不要将其视为普通的由 dnf 管理的主机
- OPNsense 或 pfSense 设备相关工作——使用 opnsense-pfsense
- NixOS 声明式系统配置——使用 nixos
- Kali Linux 和攻击性工具发行版——使用 kali-linux
AI 自检
在返回 Fedora 或 RHEL 系列命令前,请先核实:
- 已确定发行版类别:Fedora、CentOS Stream、RHEL、Rocky、AlmaLinux、Oracle Linux、Amazon Linux 或其他衍生版。不同发行版的建议很快就会出现分歧。
- 已确定发行版本类别:Fedora 稳定版与 Rawhide/Branched、RHEL 8 与 9 与 10、AL2023 与旧版 Amazon Linux 2、使用 RHCK 还是 UEK 的 Oracle Linux,以及该版本当前的生命周期状态。
- 已确定软件包管理路径:
dnf、旧版yum、纯rpm或microdnf。如果主机使用 rpm-ostree 或映像模式,请停止并改用相应方案,不要把它当作普通的 DNF 管理主机。 - 已了解仓库来源:基础仓库、EPEL、CRB/PowerTools/CodeReady Builder、COPR、供应商仓库和第三方发行版 RPM 不能互换使用。
- 已考虑 Fedora 的更新速度:适用于当前稳定版 Fedora 的建议,在 Rawhide 上可能已经过时或不正确,对企业克隆版来说也可能太新。
- 已遵循企业环境的谨慎原则:不要不加判断地把 Fedora COPR、原始上游内核或随机 GitHub RPM 仓库移植到生产环境的 RHEL 系列主机上。
- 尽早考虑 SELinux:如果症状可能与权限、绑定挂载、自定义服务、无根容器或 Web 应用异常有关,请先检查 AVC,再考虑禁用 SELinux。
- 已选择正确的 SELinux 修复方式:区分标签设置(
restorecon、semanage fcontext)、布尔值(setsebool)和自定义策略(audit2allow)。不要盲目照搬setenforce 0,也绝不要把禁用 SELinux 强制执行或 firewalld 作为永久捷径。 - firewalld 的作用范围正确:更改对外开放设置前,先了解运行时规则与永久规则、活动区域、接口绑定和富规则。
- 已确定启动栈:更改启动文件前,先了解 GRUB、EFI 挂载点、内核软件包、
dracut、Secure Boot 状态和grubby路径。 - 存在回退方案:不要移除唯一可用的内核或启动项,尤其是在远程、加密或云系统上。
- 已确定供应商内核路径:Oracle UEK 与 RHCK、Amazon 的内核选择,以及 NVIDIA akmods/DKMS 的预期都很重要。
- 已了解订阅状态:在 RHEL 上,真正的问题可能是订阅授权或仓库启用状态,而不是软件包名称。
- 已谨慎处理模块流:如果涉及 AppStream 或模块流,请在建议安装、重置或降级前确认当前启用的模块流。
- 桌面栈彼此兼容:合成器、门户后端、PipeWire、会话类型和用户服务相互匹配。
- 需要时,游戏栈包含 32 位用户空间组件:Steam 和 Proton 故障往往是缺少多架构图形组件所致,而不是游戏本身的问题。
- 采集栈彼此兼容:门户后端、PipeWire、WebRTC 或 Electron 路径,以及任何虚拟摄像头模块,都与当前会话类型相匹配。
- 已核实云映像的假设:Amazon Linux、cloud-init 映像和精简版 RHEL 映像可能缺少完整安装中常见的工具。
- 升级路径切实可行:Fedora
dnf system-upgrade、RHELleapp和克隆版的主版本升级有不同的支持情况。不要自行编造原位主版本升级路径。 - 没有掩盖诊断错误:对于错误信息很重要的命令,不要用
2>/dev/null隐藏有用的失败输出。收集信息时使用2>&1 || true。 - 将版本表视为参考,而非定论:如果固定版本表已经过时,请先实时核实发行版版本和关键软件包版本,再依赖该表。
- 已应用跨平台 Agent 操作规范——参见
references/agent-hygiene.md
工作流
请按顺序执行这些步骤。复制此清单并跟踪进度:
- 步骤 1:确定发行版类别
- 步骤 2:收集当前状态
- 步骤 3:加载匹配的参考资料
- 步骤 4:每次只更改一个层级;先确认影响重大的更改
- 步骤 5:验证(若失败,修复后返回步骤 4)
步骤 1:先识别发行版类别
在选择软件包工作流之前,先检测不可变和基于镜像的系统(rpm-ostree、bootc、CoreOS、Silverblue/Kinoite 及供应商镜像变体)。不要在镜像类别上使用适用于可变主机的 dnf 修复流程;应改用镜像支持的分层、覆盖或重建路径。
| 发行版 | 默认处理方式 | 变化之处 |
|---|---|---|
| Fedora stable | 快速迭代的工作站或服务器基线 | DNF 5 时代、提供 COPR、频繁进行版本重置、支持周期较短 |
| Fedora Rawhide / Branched | 放慢操作节奏 | 预发布特性可能导致文档和软件包名称随时变化 |
| CentOS Stream | 视为领先于 RHEL,而非与 RHEL 相同 | 类似预览版的企业类别;软件包发布时机和错误可能不同 |
| RHEL | 保守的企业基线 | subscription-manager、仓库授权、受支持的升级路径 |
| Rocky Linux | 保守的克隆版基线 | 没有 subscription-manager,在上游发布后快速跟进,vault 行为 |
| AlmaLinux | 采用自身策略的保守克隆版基线 | 大体上与 RHEL 一致,但不要假设它完全相同 |
| Oracle Linux | 立即确认内核类别 | UEK 与 RHCK 会改变驱动、存储和支持方面的假设 |
| Amazon Linux 2023 | 云优先、由供应商定义的类别 | 衍生自 Fedora 的用户空间,采用 AWS 默认配置,不要盲目照搬 RHEL 做法 |
| 其他基于 RPM 的系统 | 确认仓库和支持模式 | 没有证据时,不要假设适用 Fedora 或 RHEL 的规则 |
步骤 2:收集当前系统状态
只运行与步骤 1 中识别出的类别相匹配的命令。以下通用清单适用于可变的 RPM 主机;对于基于镜像的类别,跳过 dnf、yum、模块、软件包事务和可变启动相关命令,改为收集相应的 rpm-ostree 或 bootc 部署状态。
cat /etc/os-release
uname -r
rpm -E '%{?rhel} %{?fedora}'
rpm -q systemd rpm dnf grub2-common dracut selinux-policy-targeted 2>&1 || true
dnf --version 2>&1 || yum --version 2>&1 || true
rpm -qa | grep -E '^(kernel|kernel-core|kernel-uek|dnf|yum|podman|firewalld|selinux-policy)' | head -20
rpm -qf /etc/redhat-release 2>&1 || true
dnf repolist --enabled 2>&1 || yum repolist enabled 2>&1 || true
dnf module list --enabled 2>&1 || true
subscription-manager status 2>&1 || true
subscription-manager repos --list-enabled 2>&1 || true
systemctl --failed 2>&1 || true
journalctl -b -p warning..alert 2>&1 || true
getenforce 2>&1 || true
sestatus 2>&1 || true
ausearch -m avc -ts boot 2>&1 || true
firewall-cmd --get-active-zones 2>&1 || true
firewall-cmd --list-all 2>&1 || true
findmnt /boot
findmnt /boot/efi
grubby --default-kernel 2>&1 || true
grubby --info=ALL 2>&1 || true
lsblk -f
echo "Session=$XDG_SESSION_TYPE Desktop=$XDG_CURRENT_DESKTOP"
loginctl list-sessions 2>&1 || true
systemctl status display-manager 2>&1 || true
systemctl --user --failed 2>&1 || true
systemctl --user status pipewire pipewire-pulse wireplumber 2>&1 || true
systemctl --user status xdg-desktop-portal 2>&1 || true
command -v wpctl >/dev/null 2>&1 && wpctl status
command -v bluetoothctl >/dev/null 2>&1 && bluetoothctl show
lspci -k | grep -Ei 'vga|3d|display'
journalctl -b | grep -Ei 'nvrm|nvidia|amdgpu|i915|xe|drm' 2>&1 || true
journalctl --user -b | grep -Ei 'portal|pipewire|webrtc|obs' 2>&1 || true
lsmod | grep '^v4l2loopback' 2>&1 || true
rpm -qa 'akmod-*' 'kmod-*' 2>&1 | sort || true
command -v dkms >/dev/null 2>&1 && dkms status 2>&1 || true
findmnt -t btrfs,xfs,ext4
systemctl status fstrim.timer 2>&1 || true
fwupdmgr get-devices 2>&1 || true
在可变的 DNF 主机上,单独检查可用更新,并保留其三态结果:
dnf check-update
# Exit 0 means no updates, 100 means updates are available, and every other nonzero exit is a
# diagnostic failure to report. Do not append `|| true`.
步骤 3:只加载相关参考资料
| 任务类型 | 参考资料 |
|---|---|
dnf、yum、rpm、仓库配置、EPEL、COPR、模块、本地 RPM | references/packages-and-repos.md |
| systemd 单元、定时器、日志、覆盖配置 | references/systemd-and-journal.md |
GRUB、内核、dracut、EFI、grubby、恢复 | references/boot-kernel-and-recovery.md |
| Fedora、RHEL、Rocky、Alma、Oracle、Amazon 之间的行为差异 | references/derivatives-and-vendor-quirks.md |
| Wayland、X11、GNOME、KDE、PipeWire、Bluetooth | references/desktop-audio-and-bluetooth.md |
| 显示管理器、会话启动、挂起或恢复、电源、混合显卡 | references/session-display-and-mobile.md |
| GPU 驱动、Vulkan、Steam、Proton、游戏 | references/graphics-and-gaming.md |
| OBS、WebRTC、屏幕共享、虚拟摄像头 | references/capture-and-sharing.md |
| XFS、ext4、Btrfs、LUKS、LVM、Stratis、TRIM、休眠 | references/storage-and-rollback.md |
| SELinux、firewalld、软件包签名、更新、与合规性相关的检查 | references/security-and-updates.md |
| 远程游戏、控制器、输入 | references/remote-gaming-input-and-tooling.md |
| Linux 核心检查命令和 RPM 系工具 | references/base-linux-and-cli.md |
| Fedora 和 RHEL 系发行版的常见故障模式 | references/gotchas-and-special-situations.md |
不要默认加载所有参考资料。选择与故障模式相符的一份,然后仅在第一层检查无异常时再扩大范围。
排查防火墙问题时,先检查 firewalld 服务状态、活动区域、接口/来源绑定以及生效规则,再建议进行更改。只读命令以及运行时/永久配置的验证方法见 references/security-and-updates.md。
步骤 4:一次只更改一个层面
- 在调试可能因软件包集合错误而出问题的服务之前,先修复仓库和软件包状态。
- 在判定应用损坏之前,先修复 SELinux 标记或策略。
- 在归咎于服务启动之前,先修复
firewalld暴露配置。 - 在重建
dracut或更换内核之前,先修复挂载点和加载器状态。 - 在 Fedora 上,区分“上游快速迭代的发行版行为”和“第三方仓库或 COPR 行为”。
- 在 RHEL 上,区分“软件包不可用”和“仓库授权已禁用”。
- 在 Oracle Linux 上,在排查驱动和存储问题之前,先确认使用的是 UEK 还是 RHCK。
- 在 Amazon Linux 上,区分云镜像默认设置和 AWS 仓库选项与一般的 RHEL 经验之谈。
- 优先采用可逆步骤:保留旧内核,保存
.repo文件;如有条件,创建快照;通过策略保留 SELinux 上下文修复,而不是使用一次性的chcon变通方法。 - 在升级发行版、操作引导加载器、修改存储或进行大规模 SELinux 重新标记之前,创建快照或备份。
影响重大的更改(发行版升级、移除内核、重建 dracut 或引导加载器、重置模块流、SELinux 策略或端口映射、firewalld 暴露配置、LUKS 或 LVM 更改):
展示确切命令及其作用(DNF 事务、移除列表、区域和端口,或目标设备),征得明确确认,执行后转到步骤 5。在无人值守运行中,停留在计划阶段。确切命令位于 references/packages-and-repos.md(事务、模块、发行版升级)、references/boot-kernel-and-recovery.md(内核、dracut、救援 chroot)以及 references/security-and-updates.md(SELinux 和 firewalld 更改)。
步骤 5:结束前进行验证
rpm -q package_name
rpm -V package_name
systemctl status unit_name
journalctl -u unit_name -b
getenforce
sestatus
firewall-cmd --list-all
grubby --default-kernel
如果检查失败,修复其指向的层面,然后返回步骤 4。只有在了解引导路径且至少保留一个已知可用的引导项后,才重新启动。
故障排查模式
保持分层排查,避免复杂化:
- 确认当前使用的发行版、发行版版本轨道、软件包管理器、内核轨道和仓库状态。
- 找出故障所在层面:仓库/软件包状态、SELinux、防火墙、系统服务、用户服务、引导路径、桌面会话、图形或应用。
- 更改配置之前,先查看相关日志。
- 一次只更改一个层面,然后重新测试。
- 优先恢复已知可用的基准状态,而不是层层叠加调整。
核心日志检查:
journalctl -b -p warning..alert
journalctl --user -b
dmesg --level=err,warn
journalctl -u unit_name -b
ausearch -m avc -ts recent
需要关联分析而非初步精准定位时,进行广泛模式检查:
journalctl -b | grep -Ei 'nvrm|nvidia|amdgpu|i915|xe|drm' 2>&1 || true
journalctl --user -b | grep -Ei 'portal|pipewire|webrtc|obs' 2>&1 || true
ausearch -m avc -ts boot 2>&1 || true
如果问题看起来仅出现在桌面环境中,请对比一个干净的基准:
- GNOME 与 KDE
- 浏览器 WebRTC 与打包客户端
- 直接启动游戏与使用 Gamescope 或 MangoHud 启动
- 在怀疑内核行为时,对比 Oracle Linux 上的 RHCK 与 UEK
- 官方仓库软件包与第三方仓库软件包
默认决策
- Fedora 意味着快速变化。 核实确切的发行版版本,避免盲目照搬过时的博客修复方案。
- RHEL 意味着支持边界很重要。 在自创方案前,先检查订阅权限、受支持的软件仓库和文档记录的升级路径。
- 衍生版相近,但流程并不相同。 Rocky、AlmaLinux、Oracle Linux 和 Amazon Linux 可能使用相同的 RPM 名称,但在策略、软件仓库、内核和支持工具方面各有差异。未经明确的优先级和兼容性判断,不要混用衍生版或供应商的软件仓库。
- 先缩小范围,再扩大排查。 在大规模变更软件包前,使用
dnf repoquery、dnf history和有针对性的事务;遇到服务问题时,先检查日志、SELinux AVC 和 firewalld 区域,再重新安装软件包。谨慎刷新元数据和缓存;反复进行完整刷新会拖慢自动化。 - 优先使用 systemd 原生工具。 优先使用
systemctl、journalctl、loginctl和timedatectl,而不是封装工具。 - 把 SELinux 当作信号,而不是敌人。 AVC 拒绝通常会准确指出出错的层级。
- 把
firewalld视为有状态的管道。 区域、运行时状态、永久状态和服务定义都很重要。 - GRUB、内核和
dracut属于同一个子系统。 内核软件包、initramfs、Secure Boot 状态和引导加载程序条目必须相互匹配。 - 桌面故障往往是会话故障。 在 Wayland 上,用户单元、门户和会话环境与软件包列表同样重要。
- 游戏故障往往是技术栈不匹配。 驱动分支错误、缺少 32 位用户空间、缺失固件或 Proton 路径损坏,比游戏本身出问题更常见。
- 云镜像有意精简。 缺少软件包和禁用的服务往往是设计如此,并非损坏。
快速排查清单
| 症状 | 首要检查项 |
|---|---|
| 安装后软件包表现异常 | dnf repolist、dnf check、rpm -q、模块流不匹配、第三方软件仓库漂移 |
| RHEL 上无法获取软件包 | 是否缺少订阅权限或 CRB?subscription-manager repos --list-enabled、启用软件仓库、EPEL 相关假设 |
| SELinux 导致应用无法运行 | getenforce、ausearch -m avc -ts recent、标签与布尔值及策略模块之间的区别 |
| 更新后服务故障 | 软件仓库漂移、配置被移除、systemctl status、journalctl -b、rpm -V package |
| 操作内核后无法启动 | EFI 挂载、grubby --info=ALL、dracut 镜像、Secure Boot、备用内核 |
| Fedora 升级异常 | 确切的 Fedora 版本、dnf system-upgrade 状态、第三方软件仓库、COPR 软件包 |
| RHEL 衍生版行为异常 | 衍生版专属发行说明、vault 状态、EPEL 相关假设、不受支持的原地升级说法 |
| Oracle Linux 问题 | 先区分 RHCK 和 UEK,再检查驱动、存储和虚拟化路径 |
| Amazon Linux 不匹配 | AL2023 与 AL2、cloud-init 默认设置、AWS 软件包文档、缺失的额外软件仓库 |
| 更新后桌面异常 | XDG_SESSION_TYPE、门户、Xwayland、用户服务 |
| 蓝牙音频问题 | BlueZ 配对、PipeWire 节点、声卡配置文件 |
| 游戏黑屏或崩溃 | GPU 驱动、Vulkan、多架构图形库、Gamescope/MangoHud |
| 屏幕共享故障 | Wayland 与 X11、门户后端、PipeWire 用户单元 |
| 挂起或恢复后桌面故障 | 睡眠状态、GPU 日志、锁屏、显示管理器 |
| 内核变更后 NVIDIA/模块消失 | akmods 或 DKMS 漂移、Secure Boot 签名、当前内核与已安装模块 |
| 一切都说不通 | 查看注意事项参考——软件仓库漂移、SELinux 标签、模块流混淆、过时的第三方软件仓库和内核分支不匹配,往往能解释很多问题 |
参考文件
references/packages-and-repos.md- DNF、YUM、RPM、本地软件包、仓库文件、EPEL、COPR、模块和软件包来源references/systemd-and-journal.md- systemd 服务调试、单元覆盖、用户单元、journal 问题排查和安全编辑流程references/boot-kernel-and-recovery.md- GRUB、dracut、内核软件包、grubby、EFI、安全启动和恢复工作流references/derivatives-and-vendor-quirks.md- Fedora、CentOS Stream、RHEL、Rocky、AlmaLinux、Oracle Linux 和 Amazon Linux 的实际重要差异references/desktop-audio-and-bluetooth.md- X11 与 Wayland、GNOME 和 KDE 注意事项、门户、PipeWire 和蓝牙故障排查references/session-display-and-mobile.md- GDM、SDDM、会话环境、挂起或恢复、电源配置文件和混合显卡路由references/graphics-and-gaming.md- NVIDIA、AMD、Intel、Vulkan、Steam、Proton、Gamescope、MangoHud,以及 akmods 或 DKMS 注意事项references/capture-and-sharing.md- OBS、WebRTC 屏幕共享、Discord 或 Teams 路由、硬件编码和虚拟摄像头故障排查references/storage-and-rollback.md- XFS、ext4、Btrfs、LUKS、LVM、Stratis、TRIM、休眠和回滚边界references/security-and-updates.md- SELinux、firewalld、软件包签名、更新、FIPS 相关注意事项,以及对合规性敏感的默认设置references/remote-gaming-input-and-tooling.md- Moonlight、Sunshine、控制器和 Steam Remote Playreferences/base-linux-and-cli.md- 核心 Linux 检查命令和 RPM 系列工具,例如rpm -Va、repoquery和restoreconreferences/gotchas-and-special-situations.md- Fedora 和 RHEL 系列中反复出现的故障模式、特殊情况及后续处理建议
输出约定
完整约定请参阅 references/output-contract.md。
- 技能名称: RHEL-FEDORA
- 交付类别:
audits - 模式: 有条件。当调用任务是分析、审查、审计或改进现有仓库内容时,遵循
references/output-contract.md中的报告篇幅和证据规则,并将交付文件写入docs/local/audits/rhel-fedora/<YYYY-MM-DD>-<slug>.md。当调用任务是回答问题、讲解概念、构建新成品或生成内容时,可自由作答,不受该约定限制。 - 严重性等级:
P0 | P1 | P2 | P3 | info(参见通用约定;仅用于审计或审查模式)。
相关技能
- shell-scripting - shell 语法、zsh 或 bash 行为、脚本可移植性
- networking - 网络服务、DNS、VPN、防火墙设计(主机级
firewalld除外) - docker - 容器运行时和镜像相关问题,而非主机发行版管理
- kubernetes - 高于主机操作系统管理层级的集群和清单工作
- ansible - 将 Linux 更改规范化并应用于多台机器
- security-audit - 加固和安全审查,而非日常软件包和服务管理
- arch-linux - Arch Linux 和 CachyOS 管理(操作系统管理模式相同,但软件包和发布模式不同)
- debian-ubuntu - Debian 和 Ubuntu 管理(操作系统管理模式相同,但发行版系列不同)
- update-docs - 完成引入新运维注意事项的重大系统管理变更后使用
规则
- 执行重大更改前先确认。 展示确切命令及其计划,等待明确答复“是”,然后进行验证。无人值守运行时,只能执行到展示计划这一步。
- 不要擅自规划重大升级。 Fedora 大版本升级、RHEL
leapp升级和克隆发行版大版本迁移,都需要有文档记录的路径或重建计划。 - 谨慎使用第三方仓库。 Fedora 上的 COPR、企业克隆系统上的 EPEL、供应商 RPM 仓库和发行版软件包都会改变支持范围。