RHEL 8 YUM倉庫的應用序列AppStream

在最近推出的Red Hat Enterprise Linux 8中,原來的YUM已經不復存在,僅有YUM之名被保留,已經被DNF(Dandified YUM)取代。因爲2013年7月8日,YUM項目領導人Seth Vidal騎行被撞身亡以後,紅帽及開源社區發表聲明稱,將會永遠不會忘記Seth對開源社區的貢獻,這次仍以YUM爲名,大概就是對這個承諾的堅守。算法

DNF於2015年在Fedora項目孵化成形,將原先混亂不堪的YUM提高到一個新的高度。相較於原來的YUM而言,DNF(或者新YUM)主要解決了如下兩個問題:數據庫

一、速度bash

相較以往的YUM而言,速度大大提升。操作系統

二、依賴的算法命令行

以在往的YUM安裝過程當中,常常會出現找不到依賴包的問題,進而須要用戶使用--skip-broken,即跳過找不到的安裝包。在DNF中,在Libsolv的支撐下,這個問題將一去不復返。code

RHEL8中,YUM倉庫的變化很大。一個配置文件中,YUM倉庫被分紅兩部分:server

1)BaseOS,這部分主要收集的是操做系統核心的功能blog

2)AppStream,這部分則主要收集用戶空間的安裝包圖片

然而,在用戶層面,最大的區別在於安裝包的管理規則上。當前的管理更加精細,可能意味着更加難懂,更加複雜。此前,要安裝MariaDB數據庫,咱們這樣安裝:ip

[root@localhost ~]# yum install -y mariadb mariadb-server

由於MariaDB有幾個安裝包,因此要單獨寫出來。如今,設定要組合,就不須要那麼折騰了。

[root@localhost ~]# yum module install mariadb:10.4/server

同一個YUM倉庫中,能夠有幾個版本存在,還能夠設置幾個安裝組合,如上面這個命令行中的/server,就是要安裝一個名叫server的軟件組合。這個組合是本身設定的。名稱固然也能夠本身隨意設置,不叫server也行。

在上面的示意圖中,與yum的安裝包並列的,還有一種叫模塊的東西。多了這個層次或多了這個管理方法,相應地在yum命令下,增長了一個module子命令。

# yum module -h
# yum module list

多了個模塊(module)、模塊下多了個序列(Stream)、序列下多了個組合(profile)。好比MariaDB中,建立了一個模塊,包含了一個10.3版本的序列,其下有client、server和glera三種安裝組合。其中,server組合後,有一個「[d]」,如圖片最下方所示,那是缺省的安裝組合。若是你安裝的時候沒有指定組合,則會安裝這個server組合。下面兩條命令的最終效果是同樣的:

# yum module install mariadb:10.3/server
# yum module install mariadb:10.3

YUM = YellowDog Update Modifier

DNF = Dandified YUM

參考:

2013年Seth Vidal去世的消息  https://www.redhat.com/en/blog/thank-you-seth-vidal

https://developers.redhat.com/blog/2016/08/30/why-red-hats-new-dnf-package-manager-is-not-just-another-yum-2/

相關文章
相關標籤/搜索