2011-12-14 34 views
1

rpm命令提供了三種主要的操作進行升級和安裝軟件包需要標準化的結論: 升級 升級操作是指安裝包的新版本,並刪除同一包的所有先前版本。如果您以前未安裝軟件包,則升級操作將安裝該軟件包。 Freshen 只有當您已經安裝了其他版本的軟件包時,才能安裝新版本的軟件包。 安裝 安裝操作首次安裝軟件包。它還通過特殊的命令行參數允許你安裝一個包的多個版本,通常不是我們想要的。因此,在絕大多數情況下,您想要爲所有軟件包安裝運行升級操作。用於轉升級過程

通常應該安裝軟件包rpm -U,而不是rpm -i。其中一個主要原因是rpm -i允許你安裝相同(相同)包的多個實例。

  1. 這是標準的結論或
  2. 我應該停止編寫任何包裝腳本或者在規範文件部分添加代碼一審沿着安裝包的第二個實例。

如果2點是答案,怎麼能做到這一點。請引導我瞭解這種困惑。

+0

這是不明確的。你想知道什麼? – fge 2011-12-15 19:49:58

+0

我想要實現這個** - **當用戶試圖安裝相同的包的新版本我想拋出錯誤,你已經安裝了這個包的oledr版本請使用升級選項來升級它。系統中不應該有多個不同版本的同一個pkg。請告訴我如何acahiev這 – user1234 2011-12-16 08:53:54

回答

1

假設你只想每個都需要一次安裝一個RPM版本,那麼是使用「rpm -U」。

創建可安裝多個版本的RPM需要所有版本之間的通用文件相同。這經常發生,所以你可能會「默認」得到這種行爲。

您還可以防止多個版本與您以下規格:

Conflicts : %{name} < %{version}