rpmbuild相关内容
我遇到了一个奇怪的 RPM 问题,我是新手,所以请耐心等待...我创建了规范文件,当我运行构建时出现错误: /var/tmp/rpm-tmp.ajKra4: line 36: cd: hero-01: No such file or directory错误:来自/var/tmp/rpm-tmp.ajKra4 (%prep) 的错误退出状态 然后我检查那个临时文件,它正试图 CD 到一个
..
rpmbuild 的默认行为似乎是扫描 buildroot 中的每个文件以查找 #!行并将这些解释器添加为硬性要求.是否可以禁用此功能?我遇到过一种情况,人们使用 #!/path/to/local/install/of/something 提交脚本,并且该要求已嵌入到 rpm 中. 我找不到抑制这种行为的命令行或规范文件选项.希望我只是看起来不够努力. 解决方案 我认为问题在 rpm
..
我已经在/opt 中安装了 sample.rpm.我希望 samplw2.rpm 找到 sample.rpm 的重定位路径,并将自身安装在同一位置.规范文件中是否有任何命令或宏可以在安装前检查它? 解决方案 我很确定这是不可能的;文件位置是固定的.最简单的解决方案是将它们放在已知位置,然后在您的 %post 中设置一个符号链接,eg 链接 /opt/sample2 到 /usr/local
..
我有一个 rpm.spec 文件,我必须在其中授予文件的文件权限. 我希望 %attr 在 rpm 安装期间采用 $user 和 $group 值.(我将在其中执行“export user="和“export group=")但它不采用这些值,而是在安装 rpm 时出现语法错误. 我的规范文件中有这样的内容 %pre%个文件%defattr(-,root,root,-)
..
目前我正在尝试安装 rpmsecured_soft_2.0.0.rpm 并且我是无法安装它,因为我们已经安装了secure_soft_1.3.0. 要求是我们需要安装两个版本. 复杂性: 这些包又具有依赖的 rpm(很多)以及所有这些相互依赖的 rpm 也有版本例如:secure_soft_1.3.0 仅适用于 1.3 版的软件包,和secured_soft_2.0.0.rpm
..
总结:一个小小的lighttpd名称: lighttpd版本:1.4.28发布:1000许可证:LGPL组:应用程序/网络服务器网址:http://www.lighttpd.com/来源:http://www.lighttpd.com/lighttpd-%{version}.tar.gzBuildRoot: %{name}-%{version}前缀:/opt/src/Opensource/ligh
..
在 rpm 规范文件中创建日志文件的最佳方法是什么?我正在创建的服务在非特权用户下运行,因此无法在/var/log/中创建文件. 解决方案 您可以创建 /var/log/myservice/ 目录并使其归您的用户所有.在 %install 或 make install 中:(忽略 buildroot 等) install -d/var/log/myservice -o serviceus
..
我想将 rpm 文件的名称从 oldname-7.x86_64.rpm 更改为 newname-8.x86_64.rpm.我用新名称创建了新的 rpm,但是当我尝试执行 rpm -Uvh newname-8.x86_64.rpm 它抛出以下错误: oldname-7.x86_64 安装中的文件 XXXXX 与包 newname-8.x86_64 中的文件冲突. rpm upgrad
..
我的要求是,如果 rpm 安装在客户端机器上以任何方式失败,我想在屏幕上打印一些消息.或者在屏幕上显示消息,例如由于任何生成的原因导致 rpm 安装失败.就像其他标准 rpm 给出的一样. 而且我没有在我的 .spec 文件中制作任何 c 文件或 make 命令.我在规范文件本身中所做的一切.plz 建议如何使用规范文件在客户端控制台中打印此类内容. 是的,这不是我所关心的 --tes
..
给定最小的 RPM 规范文件,它应该只执行一个 %post 节: $ cat ~/RPMBUILD/SPECS/test.spec名称:无版本:1.0发布:1总结:布拉许可证:专有%描述布拉%准备%建造%安装%干净的%邮政回声“>>>内部帖子
..
使用spec文件创建的rpm将创建目录“directory1"和/var/lib/directory1中的所有文件. 对于另一个用例,我想在“/var/lib"中创建另一个目录,它应该是指向目录 1 的符号链接. 例如:cd/var/lib/ls -la目录 2 ->目录 1目录 1 如何在不使用 spec 文件中的绝对路径的情况下实现这一点? 解决方案 %installmkdi
..
我是 rpm 打包的初学者,据我所知,由于 cpio 限制,rpm-build 存在文件大小>4GB 的问题.因此,我将包中的大文件与 gnu 拆分为 512MB 的文件 [这是作为 rpmbuild 的一部分完成的,因为大文件是在构建时生成的].我仍然看到错误:“错误:在文件/io1/dm/build/BUILDROOT/pkg/installdir/lib/clfsplitab: cpio:
..
我正在尝试使用单个文件的示例 rpm 包. 在我的源文件夹中有 python_test_rpm.tar.gz,它只包含一个 python 脚本文件.但是,该文件不是有效的 python 脚本. 我要做的就是将其打包并将其部署在特定文件夹中.在执行 rpm build 命令时,它在 python 脚本中显示编译/语法错误.如何跳过此验证并进行构建. rpmbuild 命令rpmbu
..
我在 Redhat Linux 上工作过,我有一个 tar.gz 文件.我想把这个tar.gz文件打包成一个rpm包文件. 在rpm包阶段,我只是想解压tar.gz文件,把所有人员打包到rpm包中,当我在linux服务器上安装rpm包时,它只会简单地将所有文件复制到目标文件夹中. 我已经尝试了很多.这是我的 SPEC 文件的一些代码,但它有问题: %prep%建造密码%安装rm -rf/
..
我一直在为这个而苦苦挣扎.所以我为我的项目写了一个 .specs 文件,一切都很好.rpm 已经构建好了,安装很顺利……但是后来我遇到了一些麻烦,因为现在我必须使用自定义的全局环境变量来设置安装路径. 这将给出一个 %files 部分: %files%defattr(-,root,root)$INSTALLPATH/Crystal/bin/Crystal.jar Crystal 是我的项
..
我有一个规范文件.我需要定义一个规范变量,该变量从系统上的一行文件中获取其值. 例如 %define path `cat/home/user/path_file` 在 path_file 中是一行 /var/www/html/hosts 这部分有效.我说从 RPM BUILD 输出开始,有时 ${path} 的值实际上是我的命令 cat/home/user/path_file 有时值
..
我正在通过 URL 将一些源添加到现有的 rpm .spec 文件,但尚未下载它们.有没有办法让 rpmbuild 下载源代码而不是手动下载? 解决方案 spectool 实用程序来自 rpmdevtools包可以做到这一点.只需安装 rpmdevtools 并将 spectools 指向 .spec,如下所示: spectool -g -R SPECS/nginx.spec 它会将任
..
因为我必须在通过 kickstart 过程构建的多个 Oracle Linux 服务器上安装多个版本的 Python,所以我想为我们的 yum 存储库构建一个 python rpm.我能够使用“make altinstall"手动构建 Python,它不会安装在您的默认系统 Python 安装上,所以我认为这是可行的方法. 经过多次反复试验,我设法构建了一个以 .bz2 python 2.7
..
当涉及到放置文件时,正在寻找某人来澄清 %install 宏.我创建了一个没有错误的 RPM,它应该只是从 buildroot 中获取文件并将它们 cp 到/usr/lib.我在 %install 的 SPEC 文件中的内容如下,并且基于 这篇文章.我认为这足以让 rpm 将文件从 buildroot 复制到/usr/lib 位置. 这是我尝试过的,它构建了: %installmkdir
..
如果某些条件为假,我正在寻找一种退出 rpm 安装的方法.我在 %pre 部分添加了一个小脚本,如果我的条件失败,它会退出安装. 我面临的问题是我看到 %pre scriptlet 被执行,并且 rpm 安装失败.然而,在它的最后,我得到了这 2 行我不想要的 -- Installed ... 其次是 Complete! 下载包:运行事务测试完成交易测试交易测试成功运行事务缺少文件 zyW
..