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

歡迎訪問 生活随笔!

生活随笔

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

linux

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

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

文章目錄

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

一、命令介紹

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

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

DNF 的最新穩(wěn)定發(fā)行版版本號(hào)是 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. 安裝、升級(jí)和刪除軟件包

    命令說明
    install向系統(tǒng)中安裝一個(gè)或多個(gè)軟件包
    reinstall重新安裝軟件包
    update更新指定的軟件包,若沒有指定軟件包,則會(huì)更新系統(tǒng)所有的軟件包
    updateinfo顯示軟件包的參考建議
    upgrade升級(jí)系統(tǒng)中的一個(gè)或多個(gè)軟件包
    remove從系統(tǒng)中移除一個(gè)或多個(gè)軟件包
    autoremove刪除所有原先因?yàn)橐蕾囮P(guān)系安裝的現(xiàn)在不需要的軟件包
    clean all刪除緩存的無用軟件包及其相關(guān)數(shù)據(jù)
    groupinstall安裝一個(gè)軟件包組
    groupupdate升級(jí)一個(gè)軟件包組中的軟件包
    groupremove刪除一個(gè)軟件包組
    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檢查是否有軟件包升級(jí)
    grouplist查看所有的軟件包組
    check在包數(shù)據(jù)庫中尋找問題
    deplist列出軟件包的依賴關(guān)系和提供這些軟件包的源

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

    命令說明
    downgrade回滾軟件包的版本,降級(jí)到舊版本
    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)儲(chǔ)已安裝的 RPM 軟件包信息至文件
    debug-restore恢復(fù)調(diào)試用轉(zhuǎn)儲(chǔ)文件中的軟件包記錄
    debuginfo-install安裝調(diào)試信息軟件包
    download下載軟件包至當(dāng)前目錄
    needs-restarting判斷所升級(jí)的二進(jìn)制文件是否需要重啟
    playground與 Playground 倉庫交互。
    repoclosure顯示倉庫中未被解決的依賴關(guān)系的列表
    repodiff列出兩組倉庫中的不同
    repograph以點(diǎn)線圖方式輸出完整的軟件包依賴關(guān)系圖
    repomanage管理 RPM 軟件包目錄
    reposync下載遠(yuǎn)程倉庫中的全部軟件包

    四、選項(xiàng)參數(shù)

    選項(xiàng)說明
    -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è)置任意配置和倉庫選項(xiàng)
    --skip-broken通過跳過軟件包來解決依賴問題
    --allowerasing允許解決依賴關(guān)系時(shí)刪除已安裝軟件包
    -b, --best在事務(wù)中嘗試最佳軟件包版本
    -C, --cacheonly完全從系統(tǒng)緩存運(yùn)行,不升級(jí)緩存
    -R [minutes], --randomwait [minutes]最大命令等待時(shí)間
    -d [debug level], --debuglevel [debug level]調(diào)試輸出級(jí)別
    --debugsolver轉(zhuǎn)儲(chǔ)詳細(xì)解決結(jié)果至文件
    --showduplicates在 list/search 命令下,顯示倉庫里重復(fù)的條目
    -e ERRORLEVEL, --errorlevel ERRORLEVEL錯(cuò)誤輸出級(jí)別
    --obsoletes對(duì) upgrade 啟用 dnf 的過期處理邏輯,或?qū)?info、list 和 repoquery顯示軟件包過期的功能
    --rpmverbosity [debug level name]rpm調(diào)試輸出等級(jí)
    -y, --assumeyes全部問題自動(dòng)應(yīng)答為是
    --assumeno全部問題自動(dòng)應(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在運(yùn)行命令之前將元數(shù)據(jù)標(biāo)記為過期
    --destdir DESTDIR, --downloaddir DESTDIR設(shè)置軟件包要復(fù)制到的目錄
    --downloadonly僅下載軟件包
    --comment COMMENT為事務(wù)添加一個(gè)注釋
    --bugfix在更新中包括與 bug 修復(fù)有關(guān)的軟件包
    --enhancement在更新中包括與功能增強(qiáng)有關(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}在更新中包括匹配給定安全等級(jí)的安全相關(guān)的軟件包
    --forcearch ARCH強(qiáng)制使用一個(gè)架構(gòu)安裝包
    -h, --help,-?, --help顯示命令幫助,如果后面跟著命令名稱,則顯示該命令的幫助信息,例如:dnf --help install

    五、命令示例

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

    安裝軟件包

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

    [root@htlwk0001host ~]# dnf install nano

    安裝一個(gè)軟件包組

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

    dnf groupinstall ‘Educational Software’

    升級(jí)一個(gè)軟件包組中的軟件包

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

    dnf groupupdate ‘Educational Software’

    刪除一個(gè)軟件包組

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

    dnf groupremove ‘Educational Software’

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

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

    dnf --enablerepo=epel install phpmyadmin

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

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

    dnf distro-sync

    升級(jí)軟件包

    該命令用于升級(jí)指定的軟件包。

    [root@htlwk0001host ~]# dnf update systemd

    重新安裝特定軟件包

    dnf reinstall nano

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

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

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

    刪除軟件包

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

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

    刪除無用孤立的軟件包

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

    [root@htlwk0001host ~]# dnf autoremove

    刪除緩存的無用軟件包

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

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

    (二)查詢和檢驗(yàn)軟件包

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

    [root@htlwk0001host ~]# dnf repolist 倉庫標(biāo)識(shí) 倉庫名稱 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)識(shí) 倉庫名稱 狀態(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)確名稱時(shí),你可以用該命令來搜索軟件包。你需要在”search”參數(shù)后面鍵入軟件的部分名稱來搜索。

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

    查找某一文件的提供者

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

    [root@htlwk0001host ~]# dnf provides /bin/bash 上次元數(shù)據(jù)過期檢查:2:11:14 前,執(zhí)行于 2021年07月20日 星期二 14時(shí)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)你想在安裝某一個(gè)軟件包之前查看它的詳細(xì)信息時(shí),這條命令可以幫到你。

    [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時(shí)54分04秒構(gòu)建 :CentOS Buildsys <bugs@centos.org>2020年04月24日 星期五 19時(shí)58分19秒已安裝: rpm-0:4.14.2-37.el8.x86_64 在 2020年07月17日 星期五 01時(shí)53分33秒構(gòu)建 :CentOS Buildsys <bugs@centos.org>2020年04月24日 星期五 03時(shí)17分18秒

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

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

    dnf help clean

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

    dnf help

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

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

    dnf history

    回滾某個(gè)特定軟件的版本

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

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

    總結(jié)

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

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