- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 rpm 打包的初学者,据我所知,由于 cpio 限制,rpm-build 存在文件大小>4GB 的问题。因此,我将包中的大文件与 gnu 拆分为 512MB 的文件 [这是作为 rpmbuild 的一部分完成的,因为大文件是在构建时生成的]。我仍然看到错误:
“错误:在文件/io1/dm/build/BUILDROOT/pkg/installdir/lib/clfsplitab: cpio: Bad magic 上创建存档失败”,其中 clfsplitab 是大文件的 512MB 拆分。任何建议
如何追踪确切的问题?或者有没有更好的方法来处理/生成大型有效载荷包?
更新:如图所示错误在 clfsplitab 上,即拆分的第二个文件(因为 gnu split 通常拆分后缀为 aa、ab、ac 等的文件。看起来 cpio 无法识别文件类型,第一个文件是 tar,第二个其余部分是数据..gzipped 拆分部分)。似乎只解决了一个错误以引发相同的错误魔术错误,但这一次是在最后一部分。
注:我可以控制 rpm 中文件的输出大小。理想情况下,转储的完整文件的大小约为 4g [分为 512mb 块]。但是为了测试包大小确实没有问题,我稳定地减小了生成的目标文件的大小,如果包低于 2G,它似乎可以正常工作,并且我得到了很好的 rpm。
如果我没记错的话,大小问题自 rpm 4.4.x 以来已修复。这似乎仍然是 cpio 问题,rpm 使用它进行归档吗?
最佳答案
Large package support
Packages can now theoretically be up to 64bit sizes, and individual files within packages are limited to 4GB each due to cpio format limitation whereas they were previously limited to ~2GB. Large packages (over ~2GB in size) are incompatible and unreadable with previous versions of RPM due to requiring 64bit integer type support in headers, "normal" sized packages are fully compatible with older versions however.
Limitations on accepted header size can cause limit the practical package size when the number of files in a package is extremely high.
关于split - Rpmbuild 限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14992142/
是否可以将参数传递给 rpmbuild 以填充在规范文件中调用的用户定义变量? 例子: 在 .spec 文件(但为空)中调用的用户定义变量 %{foobar} 应填充执行 rpmbuild 命令时传递
我正在从单一来源构建一系列 rpm,并且只想构建子包;即我不想创建一个空的主包,只想创建子包。 我该怎么做呢?它是 rpmbuild 开关还是我放入规范文件的东西? 谢谢 最佳答案 通常,您通过没有
我正在尝试构建我的第一个 RPM,但出现错误。我的 .rpmmarcos 文件如下所示: %packager Your Name %_topdir /home/snort/test %_tmppa
我正在尝试从 source-1.4.3-linux.tgz(已下载,因此我无法控制名称)构建 rpm,并将文件解压到目录 source-1.4.3-linux 中。在我的 source.spec 文件
我正在尝试制定 RPM 的构建流程。 当我生成源 RPM 时,它在文件名中包含 %{dist}。我希望它只对二进制 RPM 执行此操作,因为源 RPM 不是特定于发行版的。 dist 宏在 /etc/
我正在尝试创建一个仅更新系统上文件的包,但运行 rpmbuild 时不断出现错误。该错误表明文件丢失。 我已在 CentOS 5 和 6 上尝试过此操作,结果相同。 我使用rpmdev-setuptr
寻找某人在仅放置文件时澄清 %install 宏。我创建了一个没有错误的 RPM,它应该只是从 buildroot 中获取文件并将它们 cp 到/usr/lib。我在 %install 的 SPEC
我正在尝试构建一个 RPM(rpmbuild -bb 规范文件)。安装 rpm 时,一些可执行的 tcl 文件已损坏,并且所有文件的大小都相同。 最佳答案 在规范文件中声明“%global __os_
我想构建 RPM 文件,我希望它们被普遍使用,并且不依赖于安装的发行版。现在我发现了一个在 RHEL 和 SLES 上名称不同的需求。我发现这是可能的解决方案: %if 0%{?suse_versio
我在构建日志中收到以下信息: Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.CgE2Qn + umask 022 + cd /export/home/s
rpmbuild 可以通过查找包中包含的二进制文件所需的共享库来自动检测依赖关系,虽然这几乎每次都是一个很好的想法,但有时它是不可取的,但仅限于某些特定的库。我指的是某些二进制文件需要的库不是通过 r
我是 rpm 打包的初学者,据我所知,由于 cpio 限制,rpm-build 存在文件大小>4GB 的问题。因此,我将包中的大文件与 gnu 拆分为 512MB 的文件 [这是作为 rpmbuild
我正在使用 rpmbuild在AWS Lambda其存储限制为 512MB,磁盘空间即将用完。 我想删除原始文件/ Assets 以释放文件 /tmp/rpm-tmp.XXXX 之后的空间已创建且在最
我在/opt/MyApp 中有一个应用程序,我需要使用 FPM 将其打包到 RPM 包中如下: fpm -e -s dir -t rpm --name 'MyApp' --version '1.0'
我正在尝试为我制作的应用程序构建 rpm。我已经编写了spec文件并制作了一个额外的bash脚本来自动将所有必需的文件复制到rpmbuild目录结构中,即{BUILD,BUILDROOT,RPMS,S
我只是在学习为一些从源代码编译的自定义构建的软件制作 rpm 包(一些遗留的东西需要这个,所以我正在努力学习,因为一些包不能使用最新版本),但是遇到错误(我在 Vagrant 中以 root 身份执行
在过去的 6 个月里,我一直在努力弄清楚如何构建一个 rpm,但我仍在努力理解我在构建过程中遗漏了什么。我的目标是让我的 rpm 安装一个 tar.gz 文件。 这是我的 .rpmmacros 文件
在我正在处理的项目中,我需要使用私钥从我的输出可执行文件 (elf) 之一生成签名(签名形成 rpm 中的文件之一,私钥永远不会执行此操作离开构建机器)。目前,这是在我的 makefile 中完成的,
rpmbuild 在哪个目录下生成RPM? 我检查了 RPMS 目录:- [root@tom adil]# ls /usr/src/redhat/ BUILD RPMS SOURCES SPEC
假设我为 myprog1 和 myprog2 构建的包要安装在/usr/lib/mysystem/myprog1/和/usr/lib/mysystem/myprog2/中 根据一些发行版的文档,例如
我是一名优秀的程序员,十分优秀!