2012-09-13 109 views
3

我目前有兩個問題:rpm要求範圍

1)是否可以指定rpm包spec文件中的一個包的範圍?像

包> = 1.0.0和包裝< 1.0.50 這意味着它將最新的軟件包版本拿起接近1.0.50

2)是否有人知道,如果百勝將更新到包即使spec文件中指定的版本較低,版本也更高?或者有什麼可以避免百勝升級到更高版本?這是我的例子更清晰:

有兩個包在我的回購: 包-1.0.5-1 包2.0.10-1

並且如果包我的規格文件!有以下要求: 需要:package> 1.0.5

當我做yum來安裝packageA這意味着它將安裝1.0.5版本的更高版本,或者它會假設2.0.10更高,並且將安裝那?我想實現的是某種程度上告訴我的軟件包只安裝了1.0.5版本,並且不會跳到2.x版本。

我希望我明確自己。感謝您的任何提示或回覆,你可以給我

回答

1

我不明白你爲什麼不能指定範圍,你可能需要輸入它的規格文件的兩行。

但是,對於第二個問題,yum將在嘗試升級時嘗試安裝2.0.10,然後抱怨衝突/要求(您未指定範圍的原因)。所以它會惹惱用戶。

一個解決方案,如果你有目標軟件包的控制權,將有一個名爲package2-2.0.10的版本2發生很多事情。就rpm/yum而言,這是一個完全不同的軟件包,不會被視爲package-1.0.50之後的選項。

查看this wiki page瞭解更多信息。

+0

首先感謝亞倫,對於我嘗試的第一個問題,但由於某種原因,我從1-59包,當我把我的規格文件中的雙線行範圍像> = 1 <50(測試)爲它拉動版本19的一些原因?不知道它爲什麼這樣做,它總是嘗試該版本出於某種原因。對於第二個我需要保持相同的包回滾和福克將有問題,因爲它會認爲是一個不同的包。 – Gerardo