前言
DNF是新一代的RPM軟件包管理器,它克服了YUM包管理器的一些瓶頸,提升了包括用戶體驗,內存佔用,依賴分析,運行速度等多方面的內容。目前CentOS7等版本默認未安裝DNF,但可以通過yum install dnf -y
的方式來安裝dnf軟件包管理器。非常推薦用這個來替代yum。
常用命令
#檢查並升級可用軟件包:
dnf update
#刪除緩存:
dnf clean all
#列出可用的軟件源:
dnf repolist
#搜索軟件:
dnf search $package
#查看軟件的詳細信息
dnf info $package
#安裝軟件:
dnf install $package
#升級軟件包:
dnf update $package
#重新安裝軟件包
dnf reinstall $package
#列出所有安裝的RPM包
dnf list installed
#刪除軟件包:
dnf remove $package
#刪除所有原先因爲依賴關係安裝的不需要的軟件包
dnf autoremove $package
#只下載軟件包,不安裝
dnf download $package
#查看更多命令:
dnf help
dnf help顯示的幫助信息翻譯
[root@localhost ~]# dnf help
usage: dnf [options] COMMAND
alias #列出命令別名或爲命令創建別名
autoremove #刪除所有原先因爲依賴關係安裝的不需要的軟件包
check #在包數據庫中尋找問題
check-update #檢查是否有軟件包升級
clean #刪除已緩存的數據
deplist #列出軟件包的依賴關係和提供這些軟件包的源
distro-sync #同步已經安裝的軟件包到最新可用版本
downgrade #降級包
group #顯示或使用組信息
help #顯示一個有幫助的用法信息
history #顯示或使用事務歷史
info #顯示關於軟件包或軟件包組的詳細信息
install #向系統中安裝一個或多個軟件包
list #列出一個或一組軟件包
makecache #創建元數據緩存
mark #在已安裝的軟件包中標記或者取消標記由用戶安裝的軟件包。
module #與模塊交互。
provides #查找提供指定內容的軟件包
reinstall #重裝一個包
remove #從系統中移除一個或多個軟件包
repolist #顯示已配置的軟件倉庫
repoquery #搜索匹配關鍵字的軟件包
repository-packages #對指定倉庫中的所有軟件包運行命令
search #在軟件包詳細信息中搜索指定字符串
shell #運行交互式的DNF終端
swap #運行交互式的 DNF 終端以刪除或者安裝 spec 描述文件
updateinfo #顯示軟件包的參考建議
upgrade #升級系統中的一個或多個軟件包
upgrade-minimal #升級,但只有“最新”的軟件包已修復可能影響你的系統的問題
可選參數:
-c [config file], --config [config file]
配置文件位置
-q, --quiet #靜默執行
-v, --verbose #詳盡執行
--version #顯示 DNF 版本信息並退出
--installroot [path] #設置目標根目錄
--nodocs #不要安裝文檔
--noplugins #禁用所有插件
--enableplugin [plugin] #啓用指定名稱的插件
--disableplugin [plugin] #禁用指定名稱的插件
--releasever RELEASEVER #覆蓋在配置文件和倉庫文件中 $releasever 的值
--setopt SETOPTS #設置任意配置和倉庫選項
--skip-broken #通過跳過軟件包來解決依賴問題
-h, --help, --help-cmd
顯示命令幫助
--allowerasing #允許解決依賴關係時刪除已安裝軟件包
-b, --best #在事務中嘗試最佳軟件包版本。
-C, --cacheonly #完全從系統緩存運行,不升級緩存
-R [minutes], --randomwait [minutes] #最大命令等待時間
-d [debug level], --debuglevel [debug level] #調試輸出級別
--debugsolver #轉儲詳細解決結果至文件
--showduplicates 在 list/search #命令下,顯示倉庫裏重複的條目
-e ERRORLEVEL, --errorlevel ERRORLEVEL #錯誤輸出級別
--obsoletes 對 upgrade #啓用 dnf 的過期處理邏輯,或對 info、list 和 repoquery
顯示軟件包過期的功能
--rpmverbosity [debug level name] #rpm調試輸出等級
-y, --assumeyes #全部問題自動應答爲是
--assumeno #全部問題自動應答爲否
--enablerepo [repo]
--disablerepo [repo]
--repo [repo], --repoid [repo] #啓用指定 id 或 glob 的倉庫,可以指定多次
--enable, --set-enabled
enable repos with config-manager command
(automatically saves)
--disable, --set-disabled
disable repos with config-manager command
(automatically saves)
-x [package], --exclude [package], --excludepkgs [package] #用全名或通配符排除軟件包
--disableexcludes [repo], --disableexcludepkgs [repo] #禁用 excludepkgs
--repofrompath [repo,path] #指向附加倉庫的標記和路徑,可以指定多次。
--noautoremove #禁用刪除不再被使用的依賴軟件包
--nogpgcheck disable gpg signature checking (if RPM policy allows)
--color COLOR #配置是否使用顏色
--refresh #在運行命令之前將元數據標記爲過期。
-4 #僅解析 IPv4 地址
-6 #僅解析 IPv6 地址
--destdir DESTDIR, --downloaddir DESTDIR #設置軟件包要複製到的目錄
--downloadonly #僅下載軟件包
--comment COMMENT #爲事務添加一個註釋
--bugfix #在更新中包括與 bug 修復有關的軟件包
--enhancement #在更新中包括與功能增強有關的軟件包。
--newpackage #在更新中包括與新軟件包有關的軟件包
--security #在更新中包括與安全有關的軟件包
--advisory ADVISORY, --advisories ADVISORY #在更新中包括修復指定公告所必須的軟件包
--bzs BUGZILLA #在更新中包括修復給定 BZ 所必須的軟件包
--cves CVES #在更新中包括修復給定 CVE 所必須的軟件包
--sec-severity {Critical,Important,Moderate,Low}, --secseverity {Critical,Important,Moderate,Low} #在更新中包括匹配給定安全等級的安全相關的軟件包
--forcearch ARCH #強制使用一個架構安裝包