2012-04-05 39 views
0

我通過RPM提交應用程序。
我需要做的是,如果用戶卸載應用程序(rpm -e)以獲得備份已安裝應用程序的一部分文件的機會。
此外,在(安裝後)安裝時,我希望用戶有機會用先前卸載時保存的安裝文件替換一些安裝文件。如何提供將數據從rpm保存到用戶的選項?

要做到這一點,我想做一個交互式RPM。
但它沒有奏效。谷歌搜索我發現一些命令,例如read以某種方式在RPM規範中被忽略,另外,從用戶那裏獲得交互輸入 的想法被忽視並且不被推薦。

我的問題是,我真的在這裏錯誤的做法?我應該以不同的方式做嗎?怎麼樣?我無法想到關於這個特定問題的另一個解決方案。

任何幫助?

回答

2

與取消/安裝RPM的用戶進行交互不是一種好的做法。其背後的理念是,RPM應該能夠自動卸載/安裝,例如,通過YUM安裝時。如果必須的話,你有幾種選擇:

最佳:創建一個腳本,從用戶獲取所有信息,並將其寫入文件。在RPM先決條件中,驗證文件是否存在。

可選:將RPM嵌入與用戶交互的bash腳本中,提取RPM並運行它。我相信Java RPM可以讓你接受EULA。

不是一個好主意:我讀的地方,RPM從/ dev/tty的讀取,所以你可以嘗試在前期%或%後開始添加exec 0</dev/tty

相關問題