yum - 安裝包強制替換文件

yum - 安裝包強制替換文件

我想使用 yum 安裝軟體包,而不是使用 rpm,但具有--replacefiles與 rpm 相同的行為。我有一個軟體包與其他軟體包有檔案衝突,我需要使用 yum 強制安裝。這個包是我的,所以我可以修改spec檔。

答案1

您可以使用觸發腳本為了這。

為了方便說明,假設該檔案/etc/contested由名為 的 rpm 擁有generally,並且您有另一個套件 ( specifically) 想要強制覆蓋相同檔案。

在 中specifically.spec,您將文件的新版本安裝到%{_datadir}/%{name}/etc.contested,並使用此觸發器 scriptlet 將其安裝到/etc

%triggerin -- generally install -m 0644 %{_datadir}/%{name}/etc.contested %{_sysconfdir}/contested

generally該 scriptlet 將在每次安裝或更新以及每次specifically安裝或更新時運行。

RPM 仍然會注意到該檔案與預期不同,但它不會阻止您安裝或卸載。

答案2

如果您可以修改規範文件,也許您可以刪除文件部分中衝突的文件?您是否在該部分指定了一個資料夾?或逐文件?

相關內容