dnf(yum)命令參考
dnf(yum)
dnf 用於安裝、解除安裝或者查詢 rpm 包。其基本語法格式如下:
dnf [options] <command> [<args>...]
示例:
#安裝軟體包 dnf install <package> #解除安裝軟體包 dnf remove <package> #查詢提供檔案、包名或者能力的軟體包 dnf provides <provides> #下載原始碼包 dnf download --source <package>
選項
常用的通用選項如下:
選項 | 說明 |
---|---|
--downloadonly | 只下載安裝包,不安裝。 |
-x, --exclude=<package-file-spec> | 排除指定包。 |
--installroot=<path> | 指定安裝根路徑。 |
--noautoremove | 禁止刪除不再被使用的依賴包。 |
--nogpgcheck | 不檢查 GPG 簽名(如果 RPM 策略允許)。 |
-q, --quiet | 抑制提示輸出。 |
--refresh | 設定所有元資料已過期。 |
--releasever=<release> | 設定發行版本。 |
--repofrompath <repo>,<path/url> | 為查詢臨時新增一個倉庫。 |
--repo=<repoid> | 僅使能指定倉庫。 |
--skip-broken | 通過移除造成問題的包,來解決依賴問題。 |
--showduplicates | 顯示倉庫中重複的包。 |
-v, --verbose | 顯示除錯資訊。 |
-y, --assumeyes | 對所有問題自動回答 yes 。 |
子命令
install
安裝指定的軟體包及其依賴。語法格式如下:
dnf [options] install <spec>...
註解:
<spec>...
其支援章節 引數 介紹的型別 package 和 provide。比如
yum install vim
表示提供能力vim
的軟體包。
download
下載二進位制或原始碼包。命令 yumdownloader 也被重定位到此命令。語法格式如下:
dnf download [<options>] <package-spec>...
註解:
options
常見選項如下:
選項 說明 --source 下載原始碼包,預設為下載二進位制包。 --debuginfo 下載除錯資訊包。 --downloaddir 指定下載目錄,預設為當前目錄。 --url 列印下載地址,而非下載包。 --resolve 同時下載依賴包。
remove
解除安裝指定軟體包和依賴此包的包。語法格式如下:
dnf [options] remove --duplicates | <package-spec>...
註解:
--duplicates
刪除所有包名重複的舊版本的包。
autoremove
解除安裝所有"葉子"包,即作為依賴被安裝,但是不再被任何包依賴的包。語法格式如下:
dnf [options] autoremove [<spec>...]
註解:
<spec>...
當指定此選項,即指定包時,表示解除安裝此包及其依賴的包。
upgrade
更新軟體包。語法格式如下:
dnf [options] upgrade [<package-spec>...]
註解:
<package-spec>...
如果省略此引數,則預設更新全部軟體包為最新版本。否則更新指定軟體包為最新版本,可以指定版本號。
search
查詢包資訊(name、summary)匹配關鍵字的包。關鍵字是忽略大小寫的字串,可以使用萬用字元。語法格式如下:
dnf [options] search [--all] <keywords>...
註解:
[--all]
預設是同時匹配所有關鍵字的包。如果指定
--all
選項,則表示匹配任意關鍵字的包。
check
檢查本地包資料庫的所有問題。語法格式如下:
dnf [options] check [--dependencies] [--duplicates] [--obsoleted] [--provides]
註解:
[--dependencies] [--duplicates] [--obsoleted] [--provides]
省略以上選項時,預設檢查所有問題。
makecache
下載並快取倉庫的元資料,這些資料用於指示倉庫的包資訊。其語法格式如下:
dnf [options] makecache
clean
清除倉庫臨時檔案。語法格式如下:
dnf clean <type>
註解:
<type>
清除檔案的型別,有以下幾種型別可選:
型別 說明 dbcache 清除所有倉庫元資料產生的快取。 metadata 清除所有倉庫元資料,這些檔案表明倉庫有哪些包。 packages 清除系統中所有快取的包。 all 清除以上所有型別。
repoinfo
顯示倉庫資訊。語法如下:
dnf repoinfo [--enabled|--disabled|--all]
註解:
--enabled|--disabled|--all
表示顯示指定型別的倉庫,預設為顯示所有使能的倉庫。
provides
顯示提供指定指定能力、檔名、軟體包的軟體包。語法格式如下:
dnf [options] provides <provide-spec>
註解:
<provide-spec>
此引數可以為軟體包提供的能力、檔案以及軟體包名稱。檔名不包含路徑時,會被預設依次加上
/usr/bin
、/usr/sbin
等字首進行搜尋。詳看章節 引數 介紹。
repoquery
顯示 DNF 倉庫中或者已安裝包的相關資訊。相當於對遠端倉庫的包執行 rpm -q
查詢命令。語法如下:
dnf [options] repoquery [<select-options>] [<query-options>] [<package-file-spec>]
註解:
<package-file-spec>
指定軟體包名稱。如果省略則表示所有軟體包。
<select-options>
用於篩選軟體包。需要注意已安裝包不一定在倉庫中都可得,有可能倉庫更換或者手動安裝等。常用選項如下:
選項 說明 -a, --all 全部軟體包。 --duplicates 重複安裝的僅版本號不同的軟體包。 --unneeded 作為依賴包被安裝的,以後不再需要的包。即會被 dnf autoremove
清除的包。--available 倉庫中可得的包(預設)。 --extras 在任何倉庫都沒有的已安裝的包。 -f, --file <file> 包含檔案 file 的包。 --installed 已安裝的包。 --upgrades 可更新的包。 --userinstalled 顯示使用者安裝的包(避免顯示作為依賴安裝的包)。 --whatdepends <capability>... 顯示依賴能力 capability
的包(requires, enhances, recommends, suggests 或 supplements)。--whatprovides <capability>... 顯示提供能力 capability
的包。<query-options>
用於選擇顯示包的哪些資訊。常用選項如下:
選項 說明 -i, --info 顯示包的詳細資訊。 -l, --list 顯示包的檔案清單。 --changelogs 顯示包的修改歷史日誌。 --depends 顯示包依賴的能力(requires, enhances, recommends, suggests 或 supplements)。 --provides 顯示包提供的能力。 --requires 顯示包依賴的能力 (requires)。 --tree 遞迴的查詢,支援選項: --whatrequires
、--requires
、--provides
等--deplist 顯示包所有直接依賴的能力和提供此能力的包。
help
顯示所有命令的幫助資訊,語法格式如下:
dnf help [<command>]
註解:
<command>
如果指定
command
,則只顯示指定命令的幫助手冊。
引數
可用於指定以下常用幾種型別:
-
指定軟體包(packages)
用於指定軟體包的名稱、提供的能力或檔案全名(包含路徑),支援
*
、?
、[]
等萬用字元。- <package-spec> :可以為軟體包名稱、提供的能力或檔案。
- <package-file-spec> :可以為軟體包名稱、提供的檔案。
- <package-name-spec> :可以為軟體包名稱。
-
指定提供的能力(provides)
- <provide-spec> :軟體包明確指定的能力,或隱含提供的能力(比如軟體包名),或提供的檔案。