我試圖在Fedora 15中創建一個RPM來安裝我的軟件,但爲了讓我的軟件一旦安裝就能正常工作,我還需要編輯其他(配置)文件,添加用戶/組等。執行其中一些任務只能由root用戶執行。我知道永遠不要以root用戶的身份創建RPM,我明白爲什麼這是一個糟糕的主意。但是,如果我將shell腳本語句添加到我的規格文件(%post,%prep ...任何節)來編輯必要的文件,添加用戶/組等等,我的rpmbuild命令會失敗,並顯示消息「Permission denied」出奇)。創建一個RPM,也可以操縱文件和添加用戶
處理這個問題的最佳方法是什麼?我必須告訴我的用戶首先安裝我的軟件包,然後可能以root身份運行一個shell腳本來配置它?這看起來不太優雅。我希望允許用戶使用諸如'yum install mysoftware'之類的簡單命令完成所有任務。
我的很多研究表明,也許這不應該通過RPM來完成。我讀過Maximum RPM的很多部分,還有很多其他很好的資源,但還沒有找到我要找的東西。我是創建RPM的新手,但已經能夠爲我的軟件成功創建一個簡單的spec文件...在將軟件包解壓並安裝到正確的位置後,我無法正確配置所有配置。任何輸入,非常感謝!
謝謝!這很有幫助。到目前爲止,這兩個回答都幫助我通過進一步的研究發現,%pre和%post部分(以及其他部分)在rpmbuild過程中不會執行(如%build和%install),但僅在rpm命令,它可以作爲root運行。我認爲這在我迄今閱讀的任何內容中都沒有明顯和清楚地陳述。 – flash