需要提取rpm包的一部分并将其作为单独的包装运送?

时间:2013-10-22 11:24:22

标签: rpm

我是新手打包建筑的东西,我有一个基本的问题。我有一个包含一些工具(可以从命令行运行的可执行文件)的包。现在我的任务是从该包中取出一个工具并从该工具中创建一个新包。我该怎么办?任何文档或网络链接,可以帮助像我这样的新手,他们处于基本的理解水平。我正在使用fedora 18,我可以使用git clone克隆我的软件包。

3 个答案:

答案 0 :(得分:1)

您可以使用以下命令从rpm中提取所有文件:rpm2cpio <RPM file> | cpio -idmv 如果您有RPMs的spec文件,只需编辑它并删除所有不必要的东西。如果你需要构建你的spec文件,你只需要阅读rpmbuild上的一些文档,它很容易。请注意,在安装rpmbuild软件后,您有一个示例规范文件,您可以根据需要进行修改。

答案 1 :(得分:0)

我建议使用FPM和'directory'作为源代码。只需创建所需的树形结构(使用其中的工具)并制作一个包。

mkdir -p usr/bin/
cp /path/to/mytool usr/bin/
fpm -s dir -t rpm -n mytool -v 1.0 usr/

FPM非常酷。查看docs

答案 2 :(得分:0)

您也可以使用cpio转储RPM的内容。制作目录复制/移动你的rpm以在其中提取并运行下面的最后一个命令。

mkdir test
cd test
rpm2cpio rpmname.rpm | cpio -idmv

这也可能有所帮助。如果没有,它仍然很高兴知道。