SuperAPI AI 工具集

dnf5-security-updates-knowledge-patch

部署与运维

查看项目

更新于 10-16 01:35

技能介绍

用途:该参考用于在改动包管理代码、命令、配置或自动化前,先加载与任务匹配的参考文档,并保持发行版范围区分——上游 DNF5、Fedora、Rocky Linux 与 RHEL 可能提供不同的命令形式、软件包、默认值与 systemd 单元。

参考主题:安全与自动更新(通告范围与模式、严格过滤、最小修复、自动配置、emitter、timer);事务、升级与历史(检查/升级行为、存储与离线事务、history/replay、系统升级、重启检测);仓库、软件包与查询(来源与创建、下载、comps、包原因、repoquery、versionlock);配置、策略与插件(优先级、变量、元数据/缓存、求解器控制、签名、锁、插件、供应商策略);自动化 API 与 Ansible(JSON 与退出约定、D-Bus 守护进程、libdnf5 API 变更、原生插件、Ansible);迁移与平台说明(DNF4 迁移、Fedora 41 交接、ABI/包约束、RHEL 10 安全与平台形式)。

必要用法与迁移要点:Fedora 41 上 dnf 与 yum 调用 DNF5,未移植调用方需显式使用 dnf4 或 dnf-3;Fedora 40 到 41 的升级本身用 DNF4,之后版本升级用 DNF5。DNF4 与 DNF5 共享 RPM 数据库但不共享 history 或 reason 状态,首次 DNF5 事务只做一次性 reason 导入,避免交替使用两套工具做改包操作。已移除或改名的命令:updateinfo 改用 advisory;list-updateinfo、whatprovides、groupinstall/grouplist/groupremove、shell 等改用对应新形式;check-update 保留别名但建议 check-upgrade;--releasever=/ 改用 --use-host-config。Fedora 41 的 libdnf5 5.2 故意破坏 5.1 API/ABI,需重建并移植消费者。DNF5 5.4.0 需要 RPM 4.19 或更新版本;5.4.1 需要 rpm-libs 5.99.90。配置不要只看 /etc/dnf/dnf.conf,发行版与系统 drop-in 先于该文件生效;config-manager 仓库改动写入 /etc/dnf/repos.override.d/99-config_manager.repo。脚本应以退出状态而非 stderr 内容判断失败,例如 dnf5 check-upgrade 有更新时返回 100,无更新返回 0。RHEL 不支持通过 history undo/rollback 降级核心系统包。安全通告范围需显式选择:advisory list 默认 --available。--security 与 --advisory-severities 是“或”而非交集;--advisories、--bzs、--cves 为严格过滤,可能因被过滤而失败。自动更新保守默认只下载不安装,upgrade_type 接受 default、security、distro-sync。事务可用 --store 与 --offline;系统升级用 dnf5 system-upgrade download --releasever 43 再 dnf5 offline reboot。JSON 存在于主要查询、history、advisory、仓库、升级检查、closure 与重启命令,但模式各不相同。D-Bus 包方法为排队目标作业,0 成功、1 成功带信息、2 失败。ansible.builtin.dnf5 需要 python3-libdnf5,安全与缺陷修复过滤器仅在 state: latest 时生效。限制:缺失事实如具体价格、收费、平台支持范围等暂未提供。