我可以建立一個擁有未安裝檔案的 rpm 軟體包嗎?

我可以建立一個擁有未安裝檔案的 rpm 軟體包嗎?

我遇到一種情況,我需要在應用程式初始啟動時建立一個填充預設值的設定檔。這不是一個典型的配置文件,我們非常關心用戶所做的任何修改。在升級過程中,我想簡單地刪除配置文件,以便新程式碼將啟動並再次使用預設值自動重新建立設定檔(不是我的決定 - 只是不情願地遵循命令)。

有沒有辦法建立一個 rpm 包,該包擁有一個它不安裝的文件,以便在卸載過程中刪除該文件?

我知道我總是可以添加一個預先刪除 scriptlet 來刪除檔案 - 我只是想知道是否可以讓 rpm 自動為我執行此操作。

答案1

您可以使用以下%ghost指令來執行此操作:

%files
%ghost /path/to/future.file

來自文件:

%ghost 指令

正如我們在 %files 清單一節中提到的,如果在 %files 清單中指定了一個文件,該文件將自動包含在套件中。有時,一個檔案應該由套件擁有但未被安裝 - 日誌檔案和狀態檔案是您可能希望發生這種情況的很好的例子。

答案2

不,這是不可能的。

順便一提:RPM 用於交付應用程式和函式庫。對於組態管理,您應該使用 Ansible。

相關內容