DNF 與 YUM 的區別詳解:從 CentOS 7 到 CentOS 9 的演進

🍥 DNF 與 YUM 的區別詳解:從 CentOS 7 到 CentOS 9 的演進

標簽:CentOS、YUM、DNF、Linux 包管理、系統升級、兼容性
適用版本:CentOS 7、CentOS 8、CentOS 9


🧩 一、背景介紹

CentOS 中使用的包管理工具是 RedHat 系列系統的重要組成部分。隨著系統版本升級,包管理器從 yum(CentOS 7)逐漸過渡到 dnf(CentOS 8 及之后版本)。


📌 二、YUM 與 DNF 對比表

對比項YUM(CentOS 7)DNF(CentOS 8/9)
基礎語言Python 2Python 3
依賴解析自定義邏輯使用 libsolv,更高效
性能相對較慢更快、并發解析依賴
插件架構支持但較弱插件系統更現代、可擴展
API舊版 API新的 Python API 接口
命令兼容性經典命令 yum install保持兼容,也可用 dnf 命令
容器兼容性適合傳統環境更適合云原生、容器打包
云原生支持無內建支持支持模塊化、AppStream 等
替代命令yum 命令(真實為軟鏈接)/usr/bin/yum → /usr/bin/dnf
默認包管理器CentOS 7CentOS 8 及以后

🧪 三、Shell 示例對比

🧱 CentOS 7 示例(基于 YUM)

# 安裝 nginx
yum install -y nginx# 清理緩存
yum clean all# 生成緩存
yum makecache

🚀 CentOS 8/9 示例(基于 DNF)

# 安裝 nginx
dnf install -y nginx# 清理緩存
dnf clean all# 生成緩存
dnf makecache

💡 補充:CentOS 8/9 中的 yum 命令其實是軟鏈接

$ which yum
/usr/bin/yum$ ls -l /usr/bin/yum
lrwxrwxrwx 1 root root 5  /usr/bin/yum -> dnf

🧬 四、系統內核層變化(Kernel Support)

項目CentOS 7CentOS 8CentOS Stream 9 / RHEL9
默認內核版本3.10.x(較舊)4.18(較新)5.14+(更適合云原生與容器)
cgroups 支持cgroups v1默認 cgroups v1(可切換 v2)默認 cgroups v2
systemd 版本較老 systemdsystemd 更新完全支持 systemd + 容器化
云原生支持基礎支持改進鏡像管理、模塊化倉庫支持支持 Podman、Cloud-Init、OCI

🧭 五、兼容性建議

使用場景推薦版本包管理器建議
傳統運維服務器CentOS 7使用 YUM
云主機 / 輕量部署CentOS 8使用 DNF
容器構建CentOS 9使用 DNF + 模塊

🔚 六、小結

  • YUM 仍然可以在 CentOS 8/9 中使用,但其實就是 dnf 的別名。
  • DNF 在依賴管理、性能和容器友好性上遠超 YUM
  • 對于腳本和運維工具,推薦使用 dnf,并檢測系統版本以適配。

📦 七、判斷系統版本的 Shell 兼容寫法

# 判斷系統版本選擇合適的包管理器
if grep -q -i "release 7" /etc/redhat-release; thenPM="yum"
elsePM="dnf"
fi# 使用示例
$PM install -y wget curl

🔖 關注專欄《版本那些事》獲取更多運維干貨!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/93474.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/93474.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/93474.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

mp核心功能

條件構造器mybatisPlus支持各種復雜的where條件, 滿足日常的開發wrapper類就是條件構造器提供了很多子類條件構造器的用法:QueryWrapper和LambdaQueryWrapper通常用來構建select、delete、update的where條件部分UpdateWrapper和LambdaUpdateWrapper通常只有在set語句…

pcm,msd調制解調仿真

PCM(脈沖編碼調制)和MSD(多符號差分)調制解調系統的MATLAB仿真代碼。 PCM (脈沖編碼調制) 仿真 %% PCM調制解調仿真 clear; clc; close all;% 參數設置 Fs 8000; % 采樣頻率 (Hz) t_duration 0.02; % 信號持續時間 (秒…

【網絡安全】信息網絡安全建設方案(WORD)

1.1 安全整體架構 1.2 安全建設拓撲 1.3 安全建設內容與目標 2.1 用戶側安全建設思路 2.2 用戶側安全建設拓撲 2.3 用戶側安全建設內容 2.3.1 PKI 升級改造 2.3.2 安全防護 2.3.3 安全檢測 2.3.4 安全管理 3.1 跨網安全訪問與交換平臺安全建設思…

微服務 01

微服務是一種軟件架構風格,它是以專注于單一職責的很多小型項目為基礎,組合出復雜的大型應用。 (對應的是單體架構風格) 一、認識微服務 1、單體架構 單體架構:將業務的所有功能集中在一個項目中開發,打…

20250726讓榮品的PRO-RK3566開發板使用TF卡啟動

20250726讓榮品的PRO-RK3566開發板使用TF卡啟動 2025/7/26 8:58緣起:需要升級 榮品的PRO-RK3566核心板的 底板上的FPGA程序。 由于沒有使用RK809的電量計功能,板子一上電就會被關機!^_于是給生產線制作了一張TF卡/啟動卡,插到底板…

Selenium使用指南

🍅 點擊文末小卡片,免費獲取軟件測試全套資料,資料在手,漲薪更快 概述selenium是網頁應用中最流行的自動化測試工具,可以用來做自動化測試或者瀏覽器爬蟲等。官網地址為:相對于另外一款web自動化測試工具QT…

[機緣參悟-235]:通過AI人工升級網絡的工作方式和特征理解人的思維方式

AI人工神經網絡通過模擬生物神經元連接機制、構建層級化特征提取結構,并結合數據驅動的學習方式,為理解人類思維方式提供了技術參照框架,但其本質仍是基于統計的模式匹配,與人類意識層面的思維存在根本差異。以下從其工作方式、基…

【C#補全計劃:類和對象(七)—— 重寫虛方法】

一、virtual和override1. 問題引入:使用里氏替換原則時,使用父類容器裝載子類對象,若不使用virtual和override而是使用new,當子類調用兩個類共有的方法時,調用的是父類的方法而不是子類的方法:using System…

TCPIP之常用協議

一、TCPIP之網絡支撐協議 1.ARP ARP是網絡層協議,在同一廣播域內,將IP地址解析成MAC地址. 1.1 無故ARP 請求型無故ARP 設備在網絡中不管是自動獲取ip地址還是手動配置ip地址,設備都會發送請求型無故ARP檢查這個ip地址是否有重復的。 應…

網絡之路24:VLAN基礎實驗

正文共:2345 字 18 圖,預估閱讀時間:3 分鐘目錄網絡之路第一章:Windows系統中的網絡0、序言1、Windows系統中的網絡 1.1、桌面中的網卡 1.2、命令行中的網卡 1.3、路由表 1.4、家用路由器網絡之路第二章:認識企業設備2…

基于Verilog的神經網絡加速器設計

本設計實現了一個高效的神經網絡加速器,專注于卷積神經網絡(CNN)的核心計算功能。該設計具有以下創新點: 并行處理架構:同時處理多個卷積窗口,提高計算吞吐量 動態權重加載:支持運行時更新卷積核權重 流水線優化:卷積、激活、池化三級流水線設計 可配置參數:支持不同尺寸…

基于springboot的零食商城的設計與實現/零食銷售系統的設計與實現

用戶:注冊,登錄,商品信息,團購商品,公告資訊,后臺管理,在線客服,購物車,個人中心管理員:登錄,個人中心,用戶管理,商品類型…

《劍指offer》-算法篇-位運算

題目二進制中“1”的個數代碼實現二進制中“1”的個數題目描述:輸入一個整數,輸出該數二進制表示中1的個數。其中負數用補碼表示。思路:求“1”的個數等價于求n-1與n進行“與”運算后不等于0所需要的運算次數。注意:這里的整數可能…

項目上線中的跨域問題

本文將深入解析跨域問題的本質,并提供實用的解決方案。引言 跨域問題可以說是前端開發者的"老朋友"了,特別是在項目從開發環境遷移到生產環境時,這個問題更是頻繁出現。許多開發者對跨域的理解停留在表面,導致在項目上線…

dubbo應用之3.0新特性(響應式編程)(2)

一、介紹 Dubbo 3.0 的響應式編程基于 Triple 協議和 Reactor/RxJava 實現,支持全鏈路異步非阻塞通信。它通過引入 Mono、Flux 等響應式類型,打通跨進程的數據流式傳輸,天然支持反壓、限流等控制能力。相比傳統基于 CompletableFuture 的異步方式,響應式編程更適用于高并發…

力扣-22.括號生成

題目鏈接 22.括號生成 class Solution {List<String> res new ArrayList<>();StringBuilder path new StringBuilder();void backtracking(int n, int left, int right) {if (left right 2 * n) {res.add(path.toString());return;}if (left < n) {path.a…

架構實戰——互聯網架構模板(“網絡層”技術)

目錄 一、負載均衡 1.1、DNS 1.1.1、DNS 負載均衡的優點 1.1.2、DNS 負載均衡的缺點 1.2、Nginx 、LVS 、F5 1.2.1、軟件和硬件的區別 1.2.2、4 層和 7 層的區別 二、CDN 三、多機房 3.1、同城多機房 3.2、跨城多機房 3.3、跨國多機房 四、多中心 本文來源:極客時間vip課程筆記…

TCP/IP 網絡編程面試題及解答

在Qt/C面試中&#xff0c;若涉及“熟悉TCP/IP網絡編程”&#xff0c;面試官通常會結合TCP/IP協議基礎、Qt網絡編程框架&#xff08;如Qt Network模塊&#xff09;、C網絡編程實現以及實際場景問題來提問。以下是常見面試題及解答&#xff1a; 一、TCP/IP協議基礎 1. TCP和UDP的…

unity開發中Hash、Queue、LinkedList簡單介紹

在Unity游戲開發中&#xff0c;除了Dictionary和List外&#xff0c;以下三種數據結構能高效解決特定問題場景&#xff1a;1. HashSet<T>&#xff1a;閃電級存在性檢查 核心特點&#xff1a;基于哈希表實現的高效集合&#xff0c;元素唯一且無視順序 優勢&#xff1a; O(1…

智慧園區:科技與生活的完美融合

在城市的喧囂中&#xff0c;我們常常渴望一片寧靜而充滿活力的綠洲。如今&#xff0c;隨著科技的飛速發展&#xff0c;智慧園區應運而生&#xff0c;它不僅滿足了我們對美好生活的向往&#xff0c;更以其獨特的魅力&#xff0c;成為現代城市中一道亮麗的風景線。今天&#xff0…