[精讚] [會員登入]
7780

dnf 一個即將取代 yum的套件管理程式

centos 系統中老牌的套件管理程式yum,也許未來將被dnf所取代

分享此文連結 //n.sfs.tw/14630

分享連結 dnf 一個即將取代 yum的套件管理程式@新精讚
(文章歡迎轉載,務必尊重版權註明連結來源)
2020-05-20 11:38:52 最後編修
2020-05-01 14:16:02 By 張○○
 

自動目錄

Centos 系統中老牌的套件管理程式yum,也許未來將被dnf所取代。

不知centos使用者有沒有發現,到了Centos8 之後,多出了一個dnf程式,根據官網的說明[2],這個指令就是下一代的yum:

DNF  is  the  next upcoming major version of YUM, a package manager for RPM-based Linux distributions. It roughly main‐
tains CLI compatibility with YUM and defines a strict API for extensions and plugins.

因此把dnf視為yum即可,功能操作大同小異。

安裝

在centos8以後就算最小安裝還是內建存在,前面的版本使用yum 安裝:

# yum install epel-release
# yum install dnf

基本操作

安裝套件

# dnf install <package name>

移除套件

# dnf remove <package name>

升級套件

# dnf upgrade <package name>

升級全部套件

# dnf upgrade

重裝套件

# dnf reinstall <package name>

清除dnf快取

# dnf clean packages
# dnf clean all

利用關建字查詢套件(包含未安裝的)

$ dnf search <package name or keywordd>
$ dnf search nmap
上次中介資料過期檢查:0:36:43 以前,時間點為 西元2020年05月01日 (週五) 14時23分44秒。
======================================= 名稱 精確符合:nmap ========================================
nmap.x86_64 : Network exploration tool and security scanner
===================================== 名稱 & 摘要 符合: nmap ======================================
nmap-ncat.x86_64 : Nmap's Netcat replacement
python3-nmap.noarch : A Python library which helps in using nmap port scanner

利用檔案查詢套件

不知程式在哪個套件,可用provides 關鍵字

$ dnf provides <package name or keywordd>

$ dnf provides "dig"

$ dnf provides "dig"
上次中介資料過期檢查:0:38:46 以前,時間點為 西元2020年05月01日 (週五) 14時23分44秒。
bind-utils-32:9.11.4-17.P2.el8_0.1.x86_64 : Utilities for querying DNS name servers
軟體庫    :@System
符合之來源:
檔案名稱  :/usr/bin/dig

bind-utils-32:9.11.4-26.P2.el8.x86_64 : Utilities for querying DNS name servers
軟體庫    :AppStream
符合之來源:
檔案名稱  :/usr/bin/dig

查看安裝的套件版本

# dnf list <套件1> <套件2> <套件3>...

查看安裝記錄

# dnf history

儲存庫操作 Repository

 

查看儲存庫詳細清單

$ dnf repolist all

 查看儲存庫

$ dnf repolist
$ dnf repolist
CentOS-8 - AppStream                                                       2.6 MB/s | 7.0 MB     00:02  
CentOS-8 - Base                                                            299 kB/s | 2.2 MB     00:07  
CentOS-8 - Extras                                                          2.1 kB/s | 5.5 kB     00:02  
Extra Packages for Enterprise Linux 8 - x86_64                             970 kB/s | 6.5 MB     00:06    
軟體庫 ID                  軟體庫名稱                                                          狀態
AppStream                 CentOS-8 - AppStream                                              5,318
BaseOS                    CentOS-8 - Base                                                   1,661
*epel                     Extra Packages for Enterprise Linux 8 - x86_64                    5,373
extras                    CentOS-8 - Extras                                                    15

查看儲存庫資訊詳細

$ dnf repoinfo

列出已安裝清單

$ dnf list

查看套件是否已裝

$ dnf list | grep '套件名'
$ dnf list | grep 'wget'
wget.x86_64                                          1.19.5-7.el8_0.1                                       @AppStream
wget.x86_64                                          1.19.5-8.el8_1.1                                       AppStream

新增儲存庫

儲存庫和 yum 共用,放在 /etc/yum.repos.d/

依yum 的方式加入儲存庫即可,以下範例加入mongo repository[4]

# vi /etc/yum.repos.d/mongodb-org-4.2.repo
[mongodb-org-4.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc
# dnf install mongodb-org

設定檔

設定檔放在 /etc/dnf/dnf.conf

儲存庫和 yum 共用,放在 /etc/yum.repos.d/

參考資料

[1] https://darkranger.no-ip.org/content/how-to%EF%BC%9Alinux-%E4%BD%BF%E7%94%A8-dnf-%E5%A5%97%E4%BB%B6%E7%AE%A1%E7%90%86%E5%B7%A5%E5%85%B7

[2] man dnf or https://dnf.readthedocs.io/en/latest/command_ref.html

[3] https://linuxstory.org/dnf-commands-for-fedora-rpm-package-management/zh-tw/

[4] Install mongodb https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/

 

 

END

你可能感興趣的文章

Centos7 安裝 docker-composer 及使用 docker compose 是使用docker的利器,可以讓很多的指令用文檔的方式載入。

[Docker] IPv6+nginx+php 讓docker中的容器支援ipv6,讀取到外部ipv6 docker中的容器要如何讀取到來源的ip6?這裡眉角很多。

[CENTOS7/8] 安裝中文字型 如何在Centos7上安裝和移除中文字型?

[Centos6 7] 掛載磁碟 只是掛載新磁碟

[Centos] opentftp + selinux 安裝及設定 Centos 安裝微型ftp伺服器:tftp伺服器

Linux shell 的date表示法 linux下SHELL中的date表示法

我有話要說

>>

限制:留言最高字數1000字。 限制:未登入訪客,每則留言間隔需超過10分鐘,每日最多5則留言。

訪客留言

[無留言]

隨機好文

UTF-8 BOM (Byte Order Mark) 的問題 在 Michael Kaplan 那看到 Every character has a story #4: U+feff

[Freebsd] 使用 ADSL 撥接上網 Freebsd上要使用 ADSL 撥接上網,該如何設定?

[札記] 2016.7~12月札記 札記,只是札記

[CodeIgniter3] 解決無法上傳特定檔案(.sb2)的問題 上傳時出現The filetype you are attempting to upload is not allowed,要怎麼解決?

一個邏輯的錯誤刪了全部檔案的經驗 今天本來想做一件很簡單的事,但卻足足浪費我多一倍的時間,再加上刪掉我全部的檔案,原因只是因為我自己的邏輯錯誤。