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>...

注解:

  1. <spec>...

    其支持章節 參數 介紹的類型 package 和 provide。比如 yum install vim 表示提供能力 vim 的軟件包。

download

下載二進制或源碼包。命令 yumdownloader 也被重定位到此命令。語法格式如下:

dnf download [<options>] <package-spec>...

注解:

  1. options

    常見選項如下:

    選項 說明
    --source 下載源碼包,默認為下載二進制包。
    --debuginfo 下載調試信息包。
    --downloaddir 指定下載目錄,默認為當前目錄。
    --url 打印下載地址,而非下載包。
    --resolve 同時下載依賴包。

remove

卸載指定軟件包和依賴此包的包。語法格式如下:

dnf [options] remove --duplicates | <package-spec>...

注解:

  1. --duplicates

    刪除所有包名重復的舊版本的包。

autoremove

卸載所有"葉子"包,即作為依賴被安裝,但是不再被任何包依賴的包。語法格式如下:

dnf [options] autoremove [<spec>...]

注解:

  1. <spec>...

    當指定此選項,即指定包時,表示卸載此包及其依賴的包。

upgrade

更新軟件包。語法格式如下:

dnf [options] upgrade [<package-spec>...]

注解:

  1. <package-spec>...

    如果省略此參數,則默認更新全部軟件包為最新版本。否則更新指定軟件包為最新版本,可以指定版本號。

查找包信息(name、summary)匹配關鍵字的包。關鍵字是忽略大小寫的字符串,可以使用通配符。語法格式如下:

dnf [options] search [--all] <keywords>...

注解:

  1. [--all]

    默認是同時匹配所有關鍵字的包。如果指定 --all 選項,則表示匹配任意關鍵字的包。

check

檢查本地包數據庫的所有問題。語法格式如下:

dnf [options] check [--dependencies] [--duplicates] [--obsoleted] [--provides]

注解:

  1. [--dependencies] [--duplicates] [--obsoleted] [--provides]

    省略以上選項時,默認檢查所有問題。

makecache

下載並緩存倉庫的元數據,這些數據用於指示倉庫的包信息。其語法格式如下:

dnf [options] makecache

clean

清除倉庫臨時文件。語法格式如下:

dnf clean <type>

注解:

  1. <type>

    清除文件的類型,有以下幾種類型可選:

    類型 說明
    dbcache 清除所有倉庫元數據產生的緩存。
    metadata 清除所有倉庫元數據,這些文件表明倉庫有哪些包。
    packages 清除系統中所有緩存的包。
    all 清除以上所有類型。

repoinfo

顯示倉庫信息。語法如下:

dnf repoinfo [--enabled|--disabled|--all]

注解:

  1. --enabled|--disabled|--all

    表示顯示指定類型的倉庫,默認為顯示所有使能的倉庫。

provides

顯示提供指定指定能力、文件名、軟件包的軟件包。語法格式如下:

dnf [options] provides <provide-spec>

注解:

  1. <provide-spec>

    此參數可以為軟件包提供的能力、文件以及軟件包名稱。文件名不包含路徑時,會被默認依次加上 /usr/bin/usr/sbin等前綴進行搜索。詳看章節 參數 介紹。

repoquery

顯示 DNF 倉庫中或者已安裝包的相關信息。相當於對遠程倉庫的包執行 rpm -q 查詢命令。語法如下:

dnf [options] repoquery [<select-options>] [<query-options>] [<package-file-spec>]

注解:

  1. <package-file-spec>

    指定軟件包名稱。如果省略則表示所有軟件包。

  2. <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 的包。
  3. <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>]

注解:

  1. <command>

    如果指定 command,則只顯示指定命令的幫助手冊。

參數

可用於指定以下常用幾種類型:

  1. 指定軟件包(packages)

    用於指定軟件包的名稱、提供的能力或文件全名(包含路徑),支持 *?[] 等通配符。

    • <package-spec> :可以為軟件包名稱、提供的能力或文件。
    • <package-file-spec> :可以為軟件包名稱、提供的文件。
    • <package-name-spec> :可以為軟件包名稱。
  2. 指定提供的能力(provides)

    • <provide-spec> :軟件包明確指定的能力,或隱含提供的能力(比如軟件包名),或提供的文件。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM