【发布时间】:2021-06-14 12:46:59
【问题描述】:
我们有一个文件夹非常大(很多 GB),我们需要将文件夹的内容打包成 rpm 文件(由于某些限制,我们不能将文件夹拆分为多个文件夹) .
但是,我们的下游系统对其可以传输和处理的每个 rpm 文件都有大小限制(无法更改)。
因此,我们需要创建多个较小的 rpm 文件,而不是从文件夹的内容创建一个大的 rpm 文件。
使用 fpm 是否可行? (顺便说一下,我们在 CentOS 7 上)
提前非常感谢!
【问题讨论】:
我们有一个文件夹非常大(很多 GB),我们需要将文件夹的内容打包成 rpm 文件(由于某些限制,我们不能将文件夹拆分为多个文件夹) .
但是,我们的下游系统对其可以传输和处理的每个 rpm 文件都有大小限制(无法更改)。
因此,我们需要创建多个较小的 rpm 文件,而不是从文件夹的内容创建一个大的 rpm 文件。
使用 fpm 是否可行? (顺便说一下,我们在 CentOS 7 上)
提前非常感谢!
【问题讨论】:
大的src.rpm是否可行?那么:
foo.spec:
Name: foo
Source0: big.tar.gz
Requires: %{name}-part1
Requires: %{name}-part2
%package part1
Summary: Part1 of %{name}
%description
Includes some cool part1.
%package part2
Summary: Part2 of %{name}
%description
Includes less cool part2.
...
# prep, build, install section is the same as original spec
%files
%doc README
%files part1
/some/dir/with/part1
%files part2
/some/dir/with/part2
在不同的方式来实现%files可以是:
%files part1
/your/project/
%exclude /your/project/part2
%files part2
/your/project/part2
此产生两个rpm包foo-part1和foo-part2。只要你想,你实际上可以使尽可能多的子包。例如。的texlive的src.rpm提出了几十子包。而且有一个包foo包含只是一个文件,它需要所有这些部分。 P>
【讨论】: