簡體   English   中英

如何使可重定位的rpm?

[英]How To make relocatable rpm?

我有帶pom.xml的Java應用程序。 我正在用前綴標簽制作rpm包。

當我查詢rpm的前綴標簽時:

sudo rpm -qp --queryformat "%{prefixes}\n" java-hbase-processor-1.0-SNAPSHOT20160330060627.noarch.rpm 

我有==> / var

如果我運行以下命令:

rpm -qi java-hbase-processor | grep Relocations

我得到了:重定位:/ opt / tmp重定位:/ var / tmp

以上說明rpm是可重定位的。 但是如果運行install命令

sudo rpm -i --prefix=/home/sohanvir/ java-hbase-processor-1.0-SNAPSHOT20160330060627.noarch.rpm

它將顯示錯誤消息:

錯誤:程序包java-hbase-processor無法重定位

提前致謝 。

根據RPM.org

默認情況下,RPM將在spec文件中列出的前綴目錄中安裝可重定位的軟件包。 您可以在RPM安裝命令行上使用“ --prefix <dir>覆蓋它。 例如,如果要安裝的軟件包要安裝在“ / opt”目錄下,但是您的磁盤空間不足(並且是可重定位的軟件包),則可以將其安裝在“ --prefix / usr / opt”目錄下

如果存在多個前綴,則可以使用以下語法分別重新定位每個前綴:

rpm ... --relocate /opt=/usr/opt --relocate /etc=/usr/etc ...

如果沒有重新放置任何前綴,則可以在命令行上跳過它們

但是,它繼續說在構建可重定位的RPM時可能會有很多錯誤(即使您看到Prefix標簽也是如此)。 如果只想從RPM中提取文件,則可以使用一些工具(例如rpmunpackrpm2cpiounrpm )。

進一步閱讀:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM