YUM 和 RPM 包管理器的不同之處

2020-04-30 21:56:00

軟體包管理器在 Linux 系統中扮演著重要的角色。它允許你安裝、更新、檢視、搜尋和刪除軟體包,以滿足你的需求。

每個發行版都有自己的一套包管理器,依據你的 Linux 發行版來分別使用它們。

RPM 是最古老的傳統軟體包管理器之一,它是為基於 Red Hat 的系統設計的,如 Red Hat Enterprise Linux(RHEL)、CentOS、Fedora 和 openSUSE(它基於 suse Enterprise Linux)等系統。但在依賴解析和包更新(全系統更新/升級)方面,RPM 包管理器有一個突出的限制。

如果你想知道 請參考該文章。

這意味著 yum 可以自動下載並安裝所有需要的依賴項,但 rpm 會告訴你安裝一個依賴項列表,然後你必須手動安裝。

當你想用 rpm 命令 安裝一組包時,這實際上是不可能的,而且很費時間。

這時,YUM 包管理器 就派上了用場,解決了這兩個問題。

什麼是 RPM?

RPM 指的是 RPM Package Manager(原名 Red Hat Package Manager),是一個功能強大的命令列包管理工具,是為 Red Hat 作業系統開發的。

它現在被用作許多 Linux 發行版的核心元件,如 Centos、Fedora、Oracle Linux、openSUSE 和 Mageia 等。

RPM 軟體包管理器允許你在基於 RPM 的 Linux 系統上安裝、升級、刪除、查詢和驗證軟體包。

RPM 檔案的擴充套件名為 .rpm。RPM 包由一個存檔檔案組成,其中包含了一個特定包的庫和依賴關係,這些庫和依賴關係與系統上安裝的其他包不衝突。

在 Linux 上有很多前端工具可以用來安裝 RPM 包,與 RPM 工具相比,這些工具可以使安裝過程更加高效,尤其是在處理依賴關係方面。

如果你想了解更多關於 Linux 發行版的前端包管理器的資訊,請到下面的連結。

如果你想了解 Linux 的 GUI 包管理器,請到下面的連結。

什麼是 YUM?

Yum 是一個 Linux 作業系統上的自由開源的命令列包管理程式,它使用 RPM 包管理器。Yum 是一個 RPM 的前端工具,可以自動解決軟體包的依賴關係。它可以從發行版官方倉庫和其他第三方倉庫中安裝 RPM 軟體包。

Yum 允許你在系統中安裝、更新、搜尋和刪除軟體包。如果你想讓你的系統保持更新,你可以通過 yum-cron 啟用自動更新。

此外,如果你需要的話,它還允許你在 yum update 中排除一個或多個軟體包。

Yum 是預設安裝的,你不需要安裝它。

編號RPMYUM
1紅帽在 1997 年引入了 RPMYellowdog UPdater(YUP)開發於 1999-2001 年,YUM 於 2003 年取代了原來的 YUP 工具
2RPM 代表 RPM Package manager(原名 Red Hat package manager)YUM 代表 Yellowdog Updater Modified
3RPM 檔案的命名規則如下,httpd-2.4.6-92.el7.x86_64.rpmhttpd - 實際的包名;2.4.6 - 包發布版本號;92 - 包發布子版本號;el7 - Red Hat 版本;x86_64 - 硬體架構;rpm - 副檔名後台使用 rpm 資料庫
4不解析依賴關係,你必須手動安裝依賴可以自動解析依賴關係並同時安裝它們(任何包都會和它的依賴關係一起安裝)
5允許你同時安裝多個版本的軟體包不允許,並顯示該軟體包已經安裝
6當使用 RPM 命令安裝一個軟體包時,你必須提供 .rpm 軟體包的確切位置你可以安裝倉庫中的任何軟體包,而你只需要知道軟體包的名稱就可以了
7RPM 不依賴於 YUM它是一個前端工具,在後台使用 RPM 包管理器來管理包
8RPM 在安裝包的管理方面比較難YUM 是最簡單的管理 RPM 包的方法
9RPM 不能讓你將整個系統升級到最新的版本YUM 可以讓你將系統升級到最新的版本(例如 7.0 到 7.x 的小版本升級)
10RPM 不能讓你自動更新/升級安裝在系統上的軟體包YUM 可以讓你自動更新/升級系統上的更新
11不使用線上倉庫來執行任何操作完全依賴線上倉庫來完成所有的工作
12RPM 是一種包格式,它也是一個底層的包管理器,只做基本的事情這是一個上層的包管理器前端,它可以完成你所需要的一切工作