我想使用 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
如果您可以修改規範文件,也許您可以刪除文件部分中衝突的文件?您是否在該部分指定了一個資料夾?或逐文件?