我遇到一種情況,我需要在應用程式初始啟動時建立一個填充預設值的設定檔。這不是一個典型的配置文件,我們非常關心用戶所做的任何修改。在升級過程中,我想簡單地刪除配置文件,以便新程式碼將啟動並再次使用預設值自動重新建立設定檔(不是我的決定 - 只是不情願地遵循命令)。
有沒有辦法建立一個 rpm 包,該包擁有一個它不安裝的文件,以便在卸載過程中刪除該文件?
我知道我總是可以添加一個預先刪除 scriptlet 來刪除檔案 - 我只是想知道是否可以讓 rpm 自動為我執行此操作。
答案1
您可以使用以下%ghost
指令來執行此操作:
%files
%ghost /path/to/future.file
來自文件:
%ghost 指令
正如我們在 %files 清單一節中提到的,如果在 %files 清單中指定了一個文件,該文件將自動包含在套件中。有時,一個檔案應該由套件擁有但未被安裝 - 日誌檔案和狀態檔案是您可能希望發生這種情況的很好的例子。
答案2
不,這是不可能的。
順便一提:RPM 用於交付應用程式和函式庫。對於組態管理,您應該使用 Ansible。