Centos

如何將 APT-Get 安裝包翻譯成 YUM

  • June 7, 2019

我有一個 Raspberry PI,我需要使用 CentOS 7。我也在嘗試使用 papirus eInk 顯示器(https://github.com/PiSupply/PaPiRus

驅動程序和依賴項安裝說明使用 Apt-Get,但 CentOS 使用 YUM。安裝這些依賴項的最佳/最簡單的方法是什麼?

我看過有關如何在 CentOS 上安裝 Apt-Get 的說明,但人們一致認為這是個壞主意。YUM 在 CentOS 上要好得多。

這是一個複雜的問題,因為由於多種原因兩者不兼容,因此從一個直接轉換到另一個通常非常棘手。

一點背景

apt( apt-get) 是一個包管理器,用於安裝 Debian 風格的.dpkg包及其依賴項。

yum是一個包管理器,用於安裝紅帽.rpm風格的包及其依賴項。

在您甚至開始討論 . dpkg.rpm文件有一個更普遍的問題,即.dpkg/apt-get依賴關係將已經為Raspbian計算出來。 這些將不匹配 CentOS 的依賴項。 這兩個作業系統不僅使用不同的軟體包名稱,而且還安裝了各自軟體包的不同版本。這意味著即使在另一個類似 Debian 的作業系統(例如 Ubuntu)上,您可能仍然會遇到問題。

簡而言之,.dpkg/apt-get包在 CentOS 上對你沒有用處。

增加了並發症

由於您嘗試安裝的包與 python 相關,因此需要注意第三個包管理器:pip。這可以與 yum 一起安裝,但請記住,當您使用 yum 安裝時,您還允許 yum 在更新的軟體包可用時升級這些軟體包。使用 pip 您需要定期要求 pip 升級,因為 yum 不會為您執行此操作。

你能做什麼?

您可以嘗試在命令行上搜尋:例如yum search pil. 但老實說,我更喜歡Google來完成這項任務。它為您提供了包名稱同義詞的更多上下文。您實際上別無選擇,只能自己處理命名的依賴項並為 CentOS 和/或 pip 找到類似的軟體包。這將需要在 Google 上花費大量時間來製定正確的列表。

例如(假設您使用yumand not安裝pip),以下指令:

sudo apt-get install python-pil python-smbus python-dateutil -y

在這裡,我會用Google搜尋三件事:

  1. centos包python pil
  2. centos包python smbus
  3. centos 包 python dateutil

最終導致我用 yum 安裝軟體包:

yum install python-pillow i2c-tools-python python-dateutil 

注意python-pil變成了python-pillow. 這是同一個包的一個分支,但希望是兼容的。請注意,也python-smbus變成了i2c-tools-python. 這似乎是 Centos 上的正確軟體包名稱

如果你真的找不到合適的 python 包作為 RPM,那麼你可能會被迫使用 pip 安裝它

如果這不起作用

正如我之前提到的,包版本可能不匹配,這意味著依賴關係失敗。當您安裝了所有可以安裝的東西後,它仍然無法正常工作。您的下一步應該是回到軟體維護人員(在 GitHub 上)並禮貌地詢問他們是否願意幫助您找出 CentOS 依賴項。

引用自:https://unix.stackexchange.com/questions/523551