dnf 入門指南

title: dnf 入門指南
id: 75
categories:

  • linux的學(xué)習(xí)記錄
    date: 2015-08-22 14:16:41
    tags:

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 庫(kù)進(jìn)行包管理操作弟晚。盡管它沒(méi)有預(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 編寫(xiě)藻雪,發(fā)行許可為GPL v2.

– 安裝 DNF 包管理器

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

1.為了安裝 DNF 狸吞,您必須先安裝并啟用 epel-release 依賴勉耀。

在系統(tǒng)中執(zhí)行以下命令:

yum install epel-release

或者

yum install epel-release -y

其實(shí)這里并沒(méi)有強(qiáng)制使用”-y”的理由指煎,相反的,在不使用”-y”的情況下便斥,用戶可以在安裝過(guò)程中查看到底有哪些東西被安裝進(jìn)了系統(tǒng)至壤。但對(duì)于沒(méi)有這個(gè)需求的用戶,您可以在 YUM 中使用”-y”參數(shù)來(lái)自動(dòng)安裝所有東西枢纠。

2.使用 epel-release 依賴中的 YUM 命令來(lái)安裝 DNF 包像街。、

在系統(tǒng)中執(zhí)行以下命令:# yum install dnf

然后晋渺, DNF 包管理器就被成功的安裝到你的系統(tǒng)中了镰绎。接下來(lái),是時(shí)候開(kāi)始我們的教程了木西!在這個(gè)教程中畴栖,您將會(huì)學(xué)到27個(gè)用于 DNF 包管理器的命令。使用這些命令八千,你可以方便有效的管理您系統(tǒng)中的 RPM 軟件包÷鹧龋現(xiàn)在,讓我們開(kāi)始學(xué)習(xí) DNF 包管理器的27條常用命令吧恋捆!

– 查看 DNF 包管理器版本

用處:該命令用于查看安裝在您系統(tǒng)中的 DNF 包管理器的版本

命令:# dnf –version

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

用處:該命令用于顯示系統(tǒng)中可用的 DNF 軟件庫(kù)

命令:# dnf repolist

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

用處:該命令用于顯示系統(tǒng)中可用和不可用的所有的 DNF 軟件庫(kù)

命令:# dnf repolist all

– 列出所有 RPM 包

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

命令:# dnf list

– 列出所有安裝了的 RPM 包

用處:該命令用于列出所有安裝了的 RPM 包

命令:# dnf list installed

列出所有可供安裝的 RPM 包

用處:該命令用于列出來(lái)自所有可用軟件庫(kù)的可供安裝的軟件包

命令:# dnf list available

– 搜索軟件庫(kù)中的 RPM 包

用處:當(dāng)你不知道你想要安裝的軟件的準(zhǔn)確名稱時(shí)照皆,你可以用該命令來(lái)搜索軟件包。你需要在”search”參數(shù)后面鍵入軟件的部分名稱來(lái)搜索沸停。(在本例中我們使用”nano”)

命令:# dnf search nano

– 查找某一文件的提供者

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

命令:# dnf provides /bin/bash

– 查看軟件包詳情

用處:當(dāng)你想在安裝某一個(gè)軟件包之前查看它的詳細(xì)信息時(shí)爽茴,這條命令可以幫到你。(在本例中绰垂,我們將查看”nano”這一軟件包的詳細(xì)信息)

命令:# dnf info nano

– 安裝軟件包

用處:使用該命令室奏,系統(tǒng)將會(huì)自動(dòng)安裝對(duì)應(yīng)的軟件及其所需的所有依賴(在本例中,我們將用該命令安裝nano軟件)命令:# dnf install nano

– 升級(jí)軟件包

用處:該命令用于升級(jí)制定軟件包(在本例中劲装,我們將用命令升級(jí)”systemd”這一軟件包)

命令:# dnf update systemd

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

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

命令:# dnf check-update

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

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

命令:# dnf update 或 # dnf upgrade

– 刪除軟件包

?

用處:刪除系統(tǒng)中指定的軟件包(在本例中我們將使用命令刪除”nano”這一軟件包)

命令:# dnf remove nano 或 # dnf erase nano

– 刪除無(wú)用孤立的軟件

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

命令:# dnf autoremove

– 刪除緩存的無(wú)用軟件包

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

命令:# dnf clean all

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

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

命令:# dnf help clean

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

用處:該命令用于列出所有的 DNF 命令及其用途

命令:# dnf hel

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

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

命令:# dnf histor

– 查看所有的軟件包組

用處:該命令用于列出所有的軟件包組

命令:# dnf grouplis

– 安裝一個(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’

– 從特定的軟件包庫(kù)安裝特定的軟件

用處:該命令用于從特定的軟件包庫(kù)安裝特定的軟件(本例中我們將使用命令從軟件包庫(kù) epel 中安裝 phpmyadmin 軟件包)

命令:# dnf –enablerepo=epel install phpmyadmin

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

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

命令:# dnf distro-sync

– 重新安裝特定軟件包

用處:該命令用于重新安裝特定軟件包(本例中六剥,我們將使用命令重新安裝”nano”這個(gè)軟件包)

命令:# dnf reinstall nano

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

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

命令:# dnf downgrade acpid

樣例輸出:

Using metadata from Wed May 20 12:44:59 2015

No match for available package: acpid-2.0.19-5.el7.x86_64

Error: Nothing to do.

原作者注:在執(zhí)行這條命令的時(shí)候, DNF 并沒(méi)有按照我期望的那樣降級(jí)指定的軟件(“acpid”)疗疟。該問(wèn)題已經(jīng)上報(bào)该默。

總結(jié)

DNF 包管理器作為 YUM 包管理器的升級(jí)替代品,它能自動(dòng)完成更多的操作策彤。但在我看來(lái)栓袖,正因如此,所以 DNF 包管理器不會(huì)太受那些經(jīng)驗(yàn)老道的 Linux 系統(tǒng)管理者的歡迎店诗。舉例如下:

?

在 DNF 中沒(méi)有 –skip-broken 命令裹刮,并且沒(méi)有替代命令供選擇。

在 DNF 中沒(méi)有判斷哪個(gè)包提供了指定依賴的 resolvedep 命令必搞。

在 DNF 中沒(méi)有用來(lái)列出某個(gè)軟件依賴包的 deplist 命令必指。

當(dāng)你在 DNF 中排除了某個(gè)軟件庫(kù),那么該操作將會(huì)影響到你之后所有的操作恕洲,不像在 YUM 下那樣塔橡,你的排除操作只會(huì)咋升級(jí)和安裝軟件時(shí)才起作用。

我相信幾乎所有的 Linux 用戶都會(huì)很高興看到 Linux 生態(tài)圈不斷地發(fā)展壯大霜第。先是 systemd 代替了源于 System V 的 init 葛家,而如今, DNF 包管理器已經(jīng)在 Fedora 22 上替代了 YUM 包管理器泌类,并且很快它也將登陸 RHEL 和 CentOS 癞谒。

此時(shí)此刻的你將作何感想?難道這整一個(gè) Linux 生態(tài)圈已經(jīng)變得不重視它的用戶們刃榨,并且往與用戶期望完全相反的方向發(fā)展了么弹砚?現(xiàn)在,沒(méi)有任何問(wèn)題的 System V 和 YUM 被迫淡出歷史舞臺(tái)枢希,這讓我不禁想起 IT 從業(yè)者的一句老話“為何要修復(fù)沒(méi)有損壞的東西桌吃?(Why fix, If not broken?)”。

?

?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末苞轿,一起剝皮案震驚了整個(gè)濱河市茅诱,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌搬卒,老刑警劉巖瑟俭,帶你破解...
    沈念sama閱讀 212,542評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異契邀,居然都是意外死亡摆寄,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,596評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)椭迎,“玉大人锐帜,你說(shuō)我怎么就攤上這事⌒蠛牛” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 158,021評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵允瞧,是天一觀的道長(zhǎng)简软。 經(jīng)常有香客問(wèn)我,道長(zhǎng)述暂,這世上最難降的妖魔是什么痹升? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,682評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮畦韭,結(jié)果婚禮上疼蛾,老公的妹妹穿的比我還像新娘。我一直安慰自己艺配,他們只是感情好察郁,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,792評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著转唉,像睡著了一般皮钠。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上赠法,一...
    開(kāi)封第一講書(shū)人閱讀 49,985評(píng)論 1 291
  • 那天麦轰,我揣著相機(jī)與錄音,去河邊找鬼砖织。 笑死款侵,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的侧纯。 我是一名探鬼主播新锈,決...
    沈念sama閱讀 39,107評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼茂蚓!你這毒婦竟也來(lái)了壕鹉?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,845評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤聋涨,失蹤者是張志新(化名)和其女友劉穎晾浴,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體牍白,經(jīng)...
    沈念sama閱讀 44,299評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡脊凰,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,612評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片狸涌。...
    茶點(diǎn)故事閱讀 38,747評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡切省,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出帕胆,到底是詐尸還是另有隱情朝捆,我是刑警寧澤,帶...
    沈念sama閱讀 34,441評(píng)論 4 333
  • 正文 年R本政府宣布懒豹,位于F島的核電站芙盘,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏脸秽。R本人自食惡果不足惜儒老,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,072評(píng)論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望记餐。 院中可真熱鬧驮樊,春花似錦、人聲如沸片酝。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,828評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)钠怯。三九已至佳魔,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間晦炊,已是汗流浹背鞠鲜。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,069評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留断国,地道東北人贤姆。 一個(gè)月前我還...
    沈念sama閱讀 46,545評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像稳衬,于是被迫代替她去往敵國(guó)和親霞捡。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,658評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容