日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux命令之 DNF -- 新一代的 RPM 软件包管理器

發(fā)布時間:2023/12/3 linux 63 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux命令之 DNF -- 新一代的 RPM 软件包管理器 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文章目錄

  • 一、命令介紹
  • 二、安裝 DNF
  • 三、DNF 命令
    • (一)主要命令
      • 1. 安裝、升級和刪除軟件包
      • 2. 查詢和檢查軟件包
      • 3. 執(zhí)行其它功能
    • (二)插件命令
  • 四、選項參數(shù)
  • 五、命令示例
    • (一)安裝、升級和刪除軟件包
      • 安裝軟件包
      • 安裝一個軟件包組
      • 升級一個軟件包組中的軟件包
      • 刪除一個軟件包組
      • 從特定的軟件包庫安裝特定的軟件
      • 更新軟件包到最新的穩(wěn)定發(fā)行版
      • 升級軟件包
      • 重新安裝特定軟件包
      • 升級所有系統(tǒng)軟件包
      • 刪除軟件包
      • 刪除無用孤立的軟件包
      • 刪除緩存的無用軟件包
    • (二)查詢和檢驗軟件包
      • 查看系統(tǒng)中可用的 DNF 軟件庫
      • 查看所有的軟件包組
      • 查看系統(tǒng)中可用和不可用的所有的 DNF 軟件庫
      • 列出所有 RPM 包
      • 列出所有安裝了的 RPM 包
      • 列出所有可供安裝的 RPM 包
      • 搜索軟件庫中的 RPM 包
      • 查找某一文件的提供者
      • 查看軟件包詳情
      • 檢查系統(tǒng)軟件包的更新
    • (三)執(zhí)行其它功能
      • 查看安裝在您系統(tǒng)中的 DNF 包管理器的版本
      • 獲取有關(guān)某條命令的使用幫助
      • 查看所有的 DNF 命令及其用途
      • 查看 DNF 命令的執(zhí)行歷史
      • 回滾某個特定軟件的版本

一、命令介紹

DNF 是新一代的 rpm 軟件包管理器。他首先出現(xiàn)在 Fedora 18 這個發(fā)行版中。而最近,它取代了 YUM,正式成為 Fedora 22 的包管理器。

DNF 包管理器克服了 YUM 包管理器的一些瓶頸,提升了包括用戶體驗,內(nèi)存占用,依賴分析,運行速度等多方面的內(nèi)容。DNF 使用 RPM, libsolv 和 hawkey 庫進行包管理操作。盡管它沒有預(yù)裝在 CentOS 和 RHEL 7 中,但你可以在使用 YUM 的同時使用 DNF 。你可以在這里獲得關(guān)于 DNF 的更多知識:《DNF 代替 YUM ,你所不知道的緣由》

DNF 的最新穩(wěn)定發(fā)行版版本號是 1.0,發(fā)行日期是2015年5月11日。 這一版本的額 DNF 包管理器(包括在他之前的所有版本) 都大部分采用 Python 編寫,發(fā)行許可為GPL v2.

二、安裝 DNF

DNF 并未默認(rèn)安裝在 RHEL 或 CentOS 7 系統(tǒng)中,但是 CentOS 8、Fedora 22 等已經(jīng)默認(rèn)使用 DNF。

  • 為了安裝 DNF ,您必須先安裝并啟用 epel-release 依賴。在系統(tǒng)中執(zhí)行以下命令:
  • [root@htlwk0001host ~]# yum install epel-release
  • 接著在系統(tǒng)中執(zhí)行以下命令:
  • [root@htlwk0001host ~]# yum install dnf

    三、DNF 命令

    (一)主要命令

    1. 安裝、升級和刪除軟件包

    命令說明
    install向系統(tǒng)中安裝一個或多個軟件包
    reinstall重新安裝軟件包
    update更新指定的軟件包,若沒有指定軟件包,則會更新系統(tǒng)所有的軟件包
    updateinfo顯示軟件包的參考建議
    upgrade升級系統(tǒng)中的一個或多個軟件包
    remove從系統(tǒng)中移除一個或多個軟件包
    autoremove刪除所有原先因為依賴關(guān)系安裝的現(xiàn)在不需要的軟件包
    clean all刪除緩存的無用軟件包及其相關(guān)數(shù)據(jù)
    groupinstall安裝一個軟件包組
    groupupdate升級一個軟件包組中的軟件包
    groupremove刪除一個軟件包組
    distro-sync更新軟件包到最新的穩(wěn)定發(fā)行版

    2. 查詢和檢查軟件包

    命令說明
    repolist顯示系統(tǒng)中可用的 DNF 軟件庫(軟件倉庫)
    list列出用戶系統(tǒng)上的所有來自軟件庫的可用軟件包和所有已經(jīng)安裝在系統(tǒng)上的軟件包
    search在軟件包詳細(xì)信息中搜索指定字符串,即搜索與指定字符串有關(guān)的軟件包
    repoquerySearches available DNF repositories for selected packages and displays the requested information about them. It is an equivalent of rpm -q for remote repositories. 搜索匹配關(guān)鍵字的軟件包
    provides查找提供指定內(nèi)容的軟件包
    info顯示關(guān)于軟件包或軟件包組的詳細(xì)信息
    check-update檢查是否有軟件包升級
    grouplist查看所有的軟件包組
    check在包數(shù)據(jù)庫中尋找問題
    deplist列出軟件包的依賴關(guān)系和提供這些軟件包的源

    3. 執(zhí)行其它功能

    命令說明
    downgrade回滾軟件包的版本,降級到舊版本
    makecache創(chuàng)建元數(shù)據(jù)緩存
    mark在已安裝的軟件包中標(biāo)記或者取消標(biāo)記由用戶安裝的軟件包。
    help查看使用幫助,若后面跟著目錄,則查看該命令的使用幫助,例如:dnf help install

    (二)插件命令

    命令說明
    builddepInstall build dependencies for package or spec file
    changelog查看軟件包的改變?nèi)罩緮?shù)據(jù)
    config-managermanage dnf configuration options and repositories
    debug-dump轉(zhuǎn)儲已安裝的 RPM 軟件包信息至文件
    debug-restore恢復(fù)調(diào)試用轉(zhuǎn)儲文件中的軟件包記錄
    debuginfo-install安裝調(diào)試信息軟件包
    download下載軟件包至當(dāng)前目錄
    needs-restarting判斷所升級的二進制文件是否需要重啟
    playground與 Playground 倉庫交互。
    repoclosure顯示倉庫中未被解決的依賴關(guān)系的列表
    repodiff列出兩組倉庫中的不同
    repograph以點線圖方式輸出完整的軟件包依賴關(guān)系圖
    repomanage管理 RPM 軟件包目錄
    reposync下載遠(yuǎn)程倉庫中的全部軟件包

    四、選項參數(shù)

    選項說明
    -c [config file], --config [config file]配置文件位置
    -q, --quiet靜默執(zhí)行
    -v, --verbose詳盡執(zhí)行
    --version顯示 DNF 版本信息并退出
    --installroot [path]設(shè)置目標(biāo)根目錄
    --nodocs不要安裝文檔
    --noplugins禁用所有插件
    --enableplugin [plugin]啟用指定名稱的插件
    --disableplugin [plugin]禁用指定名稱的插件
    --releasever RELEASEVER覆蓋在配置文件和倉庫文件中 $releasever 的值
    --setopt SETOPTS設(shè)置任意配置和倉庫選項
    --skip-broken通過跳過軟件包來解決依賴問題
    --allowerasing允許解決依賴關(guān)系時刪除已安裝軟件包
    -b, --best在事務(wù)中嘗試最佳軟件包版本
    -C, --cacheonly完全從系統(tǒng)緩存運行,不升級緩存
    -R [minutes], --randomwait [minutes]最大命令等待時間
    -d [debug level], --debuglevel [debug level]調(diào)試輸出級別
    --debugsolver轉(zhuǎn)儲詳細(xì)解決結(jié)果至文件
    --showduplicates在 list/search 命令下,顯示倉庫里重復(fù)的條目
    -e ERRORLEVEL, --errorlevel ERRORLEVEL錯誤輸出級別
    --obsoletes對 upgrade 啟用 dnf 的過期處理邏輯,或?qū)?info、list 和 repoquery顯示軟件包過期的功能
    --rpmverbosity [debug level name]rpm調(diào)試輸出等級
    -y, --assumeyes全部問題自動應(yīng)答為是
    --assumeno全部問題自動應(yīng)答為否
    --enablerepo [repo]Enable additional repositories. List option. Supports globs, can be specified multiple times.
    --disablerepo [repo]Disable repositories. List option. Supports globs, can be specified multiple times.
    -x [package], --exclude [package], --excludepkgs [package]用全名或通配符排除軟件包
    --disableexcludes [repo], --disableexcludepkgs [repo]禁用 excludepkgs
    --repofrompath [repo,path]指向附加倉庫的標(biāo)記和路徑,可以指定多次
    --noautoremove禁用刪除不再被使用的依賴軟件包
    --nogpgcheckdisable gpg signature checking (if RPM policy allows)
    --color COLOR配置是否使用顏色
    --refresh在運行命令之前將元數(shù)據(jù)標(biāo)記為過期
    --destdir DESTDIR, --downloaddir DESTDIR設(shè)置軟件包要復(fù)制到的目錄
    --downloadonly僅下載軟件包
    --comment COMMENT為事務(wù)添加一個注釋
    --bugfix在更新中包括與 bug 修復(fù)有關(guān)的軟件包
    --enhancement在更新中包括與功能增強有關(guān)的軟件包。
    --newpackage在更新中包括與新軟件包有關(guān)的軟件包
    --security在更新中包括與安全有關(guān)的軟件包
    --advisory ADVISORY, --advisories ADVISORY在更新中包括修復(fù)指定公告所必須的軟件包
    --bzs BUGZILLA在更新中包括修復(fù)給定 BZ 所必須的軟件包
    --cves CVES在更新中包括修復(fù)給定 CVE 所必須的軟件包
    --sec-severity {Critical,Important,Moderate,Low}, --secseverity {Critical,Important,Moderate,Low}在更新中包括匹配給定安全等級的安全相關(guān)的軟件包
    --forcearch ARCH強制使用一個架構(gòu)安裝包
    -h, --help,-?, --help顯示命令幫助,如果后面跟著命令名稱,則顯示該命令的幫助信息,例如:dnf --help install

    五、命令示例

    (一)安裝、升級和刪除軟件包

    安裝軟件包

    使用該命令,系統(tǒng)將會自動安裝對應(yīng)的軟件及其所需的所有依賴

    [root@htlwk0001host ~]# dnf install nano

    安裝一個軟件包組

    該命令用于安裝一個軟件包組。本例中,我們將用命令安裝”Educational Software”這個軟件包組。

    dnf groupinstall ‘Educational Software’

    升級一個軟件包組中的軟件包

    該命令用于升級一個軟件包組中的軟件包。本例中,我們將用命令升級”Educational Software”這個軟件包組中的軟件。

    dnf groupupdate ‘Educational Software’

    刪除一個軟件包組

    該命令用于刪除一個軟件包組。本例中,我們將用命令刪除”Educational Software”這個軟件包組。

    dnf groupremove ‘Educational Software’

    從特定的軟件包庫安裝特定的軟件

    該命令用于從特定的軟件包庫安裝特定的軟件。本例中我們將使用命令從軟件包庫 epel 中安裝 phpmyadmin 軟件包。

    dnf --enablerepo=epel install phpmyadmin

    更新軟件包到最新的穩(wěn)定發(fā)行版

    該命令可以通過所有可用的軟件源將已經(jīng)安裝的所有軟件包更新到最新的穩(wěn)定發(fā)行版

    dnf distro-sync

    升級軟件包

    該命令用于升級指定的軟件包。

    [root@htlwk0001host ~]# dnf update systemd

    重新安裝特定軟件包

    dnf reinstall nano

    升級所有系統(tǒng)軟件包

    該命令用于升級系統(tǒng)中所有有可用升級的軟件包。

    [root@htlwk0001host ~]# dnf update [root@htlwk0001host ~]# dnf upgrade

    刪除軟件包

    刪除系統(tǒng)中指定的軟件包。

    [root@htlwk0001host ~]# dnf remove nano [root@htlwk0001host ~]# dnf erase nano

    刪除無用孤立的軟件包

    當(dāng)沒有軟件再依賴它們時,某一些用于解決特定軟件依賴的軟件包將會變得沒有存在的意義,該命令就是用來自動移除這些沒用的孤立軟件包。

    [root@htlwk0001host ~]# dnf autoremove

    刪除緩存的無用軟件包

    在使用 DNF 的過程中,會因為各種原因在系統(tǒng)中殘留各種過時的文件和未完成的編譯工程。我們可以使用該命令來刪除這些沒用的垃圾文件。

    [root@htlwk0001host ~]# dnf clean all 42 文件已刪除

    (二)查詢和檢驗軟件包

    查看系統(tǒng)中可用的 DNF 軟件庫

    [root@htlwk0001host ~]# dnf repolist 倉庫標(biāo)識 倉庫名稱 AppStream CentOS-8 - AppStream BaseOS CentOS-8 - Base epel Extra Packages for Enterprise Linux 8 - x86_64 extras CentOS-8 - Extras mysql-connectors-community MySQL Connectors Community mysql-tools-community MySQL Tools Community mysql57-community MySQL 5.7 Community Server

    查看所有的軟件包組

    dnf grouplist

    查看系統(tǒng)中可用和不可用的所有的 DNF 軟件庫

    root@htlwk0001host ~]# dnf repolist all 倉庫標(biāo)識 倉庫名稱 狀態(tài) AppStream CentOS-8 - AppStream 啟用 AppStream-source CentOS-8 - AppStream Sources 禁用 BaseOS CentOS-8 - Base 啟用 BaseOS-source CentOS-8 - BaseOS Sources 禁用 PowerTools CentOS-8 - PowerTools 禁用 base-debuginfo CentOS-8 - Debuginfo 禁用 c8-media-AppStream CentOS-AppStream-8 - Media 禁用 c8-media-BaseOS CentOS-BaseOS-8 - Media 禁用 centosplus CentOS-8 - Plus 禁用 centosplus-source CentOS-8 - Plus Sources 禁用 cr CentOS-8 - cr 禁用 epel Extra Packages for Enterprise Linux 8 - x86_64 啟用 extras CentOS-8 - Extras 啟用 extras-source CentOS-8 - Extras Sources 禁用 fasttrack CentOS-8 - fasttrack 禁用 mysql-cluster-7.5-community MySQL Cluster 7.5 Community 禁用 mysql-cluster-7.5-community-source MySQL Cluster 7.5 Community - Source 禁用 mysql-connectors-community MySQL Connectors Community 啟用 mysql-connectors-community-source MySQL Connectors Community - Source 禁用 mysql-tools-community MySQL Tools Community 啟用 mysql-tools-community-source MySQL Tools Community - Source 禁用 mysql-tools-preview MySQL Tools Preview 禁用 mysql-tools-preview-source MySQL Tools Preview - Source 禁用 mysql55-community MySQL 5.5 Community Server 禁用 mysql55-community-source MySQL 5.5 Community Server - Source 禁用 mysql56-community MySQL 5.6 Community Server 禁用 mysql56-community-source MySQL 5.6 Community Server - Source 禁用 mysql57-community MySQL 5.7 Community Server 啟用 mysql57-community-source MySQL 5.7 Community Server - Source 禁用 mysql80-community MySQL 8.0 Community Server 禁用 mysql80-community-source MySQL 8.0 Community Server - Source 禁用

    列出所有 RPM 包

    該命令用于列出用戶系統(tǒng)上的所有來自軟件庫的可用軟件包和所有已經(jīng)安裝在系統(tǒng)上的軟件包

    [root@htlwk0001host ~]# dnf list

    列出所有安裝了的 RPM 包

    [root@htlwk0001host ~]# dnf list installed

    列出所有可供安裝的 RPM 包

    該命令用于列出來自所有可用軟件庫的可供安裝的軟件包。

    [root@htlwk0001host ~]# dnf list available

    搜索軟件庫中的 RPM 包

    當(dāng)你不知道你想要安裝的軟件的準(zhǔn)確名稱時,你可以用該命令來搜索軟件包。你需要在”search”參數(shù)后面鍵入軟件的部分名稱來搜索。

    [root@htlwk0001host ~]# dnf search fastest 上次元數(shù)據(jù)過期檢查:2:07:02 前,執(zhí)行于 2021年07月20日 星期二 14時43分02秒。 =========================================================================================== 概況 匹配:fastest =========================================================================================== perl-Sort-Key.x86_64 : Fastest way to sort anything in Perl

    查找某一文件的提供者

    當(dāng)你想要查看是哪個軟件包提供了系統(tǒng)中的某一文件時,你可以使用這條命令。在本例中,我們將查找 /bin/bash 這個文件的提供者:

    [root@htlwk0001host ~]# dnf provides /bin/bash 上次元數(shù)據(jù)過期檢查:2:11:14 前,執(zhí)行于 2021年07月20日 星期二 14時43分02秒。 bash-4.4.19-10.el8.x86_64 : The GNU Bourne Again shell 倉庫 :@System 匹配來源: 提供 : /bin/bashbash-4.4.19-14.el8.x86_64 : The GNU Bourne Again shell 倉庫 :BaseOS 匹配來源: 提供 : /bin/bashbash-4.4.20-1.el8_4.x86_64 : The GNU Bourne Again shell 倉庫 :BaseOS 匹配來源: 提供 : /bin/bash

    查看軟件包詳情

    當(dāng)你想在安裝某一個軟件包之前查看它的詳細(xì)信息時,這條命令可以幫到你。

    [root@htlwk0001host ~]# dnf info nano

    檢查系統(tǒng)軟件包的更新

    該命令用于檢查系統(tǒng)中所有軟件包的更新

    [root@htlwk0001host ~]# dnf check-update

    (三)執(zhí)行其它功能

    查看安裝在您系統(tǒng)中的 DNF 包管理器的版本

    [root@htlwk0001host ~]# dnf --version 4.2.17已安裝: dnf-0:4.2.17-6.el8.noarch 在 2020年07月17日 星期五 01時54分04秒構(gòu)建 :CentOS Buildsys <bugs@centos.org>2020年04月24日 星期五 19時58分19秒已安裝: rpm-0:4.14.2-37.el8.x86_64 在 2020年07月17日 星期五 01時53分33秒構(gòu)建 :CentOS Buildsys <bugs@centos.org>2020年04月24日 星期五 03時17分18秒

    獲取有關(guān)某條命令的使用幫助

    該命令用于獲取有關(guān)某條命令的使用幫助(包括可用于該命令的參數(shù)和該命令的用途說明),本例中我們將使用命令獲取有關(guān)命令”clean”的使用幫助。

    dnf help clean

    查看所有的 DNF 命令及其用途

    dnf help

    查看 DNF 命令的執(zhí)行歷史

    您可以使用該命令來查看您系統(tǒng)上 DNF 命令的執(zhí)行歷史。通過這個手段您可以知道在自您使用 DNF 開始有什么軟件被安裝和卸載。

    dnf history

    回滾某個特定軟件的版本

    該命令用于降低特定軟件包的版本(如果可能的話),本例中,我們將使用命令降低”acpid”這個軟件包的版本。

    dnf downgrade acpid 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

    總結(jié)

    以上是生活随笔為你收集整理的Linux命令之 DNF -- 新一代的 RPM 软件包管理器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。