在我運行安裝命令時,spec文件中的哪些位置可以放置指令來安裝/移動文件?在我運行安裝命令時,我可以在spec文件中放置指令來安裝/移動文件?
rpm -ivh myrpm-1.0-12.rpm
在我轉我充滿了文件(PHP文件)焦油球我想將它們放置到我的服務器上的一組目錄。
我跑。
rpmbuild -ba
這會執行下面的命令,我不想在這個時候執行。
%install
mkdir -p $RPM_BUILD_ROOT/usr/local/mypath/here
cp -r . $RPM_BUILD_ROOT/usr/local/mypath/here
我想這些命令由最終用戶
rpm -ivh myrpm-1.0-12.rpm
在RPM文件安裝時它說,對安裝步驟的RPM是執行... 「從包中取出文件並將它們放在適當的位置:」
這是大多數人在考慮安裝軟件時想到的步驟。每個軟件包文件都包含要安裝的文件列表以及系統上的目標文件。另外,許多其他文件屬性(例如權限和所有權)由RPM正確設置。
我不知道把這些命令放在哪裏。
我也試過把這些命令放在%build
中,它的行爲也是如此。
謝謝,這有幫助。所以,如果我有一個想要解壓縮的文件夾,說,mydir/index.php我想要在機器上的文件的確切佈局是/usr/local/mypath/here/mydir/index.php,我在哪裏指定?你說,[.rpm文件]應該保存RPM負責的目標文件系統的確切佈局。我在哪裏指定佈局? – Eddie
@Eddie在'%install'部分。這就是'$ RPM_BUILD_ROOT'部分的全部內容。您可以在目標系統上以'$ RPM_BUILD_ROOT'爲前綴創建** exact **佈局,然後'rpmbuild'將該目錄下的所有內容打包爲包。 –
@EtanReisner 因此,當我運行'rpm -ivh myrpm ...'時,%install會運行嗎? 我把一個回聲聲明,我沒有看到它?當我建立rpm時,我確實看到了它(rpmbuild -ba myrpm ....) – Eddie