我为dev环境创建了一个rpm,并包含指向dev的配置文件。现在,我必须为另一个环境创建rpm,对于该环境,我需要只替换源文件夹中的一个文件,并更新.spec中的引用并重新构建。问题是我没有用于为dev创建rpm的.spec文件。
因此,在搜索时,我看到了rpm重构,我在编辑器中看到了.spec文件。当我给出rpmrebuild命令时,spec文件将在编辑器中打开。
这是文件中的小片段
/root/rpmbuild/SOURCES /root/rpmbuild/SOURCES
%files
%attr(0755, root, root) "/opt/**{replace/with/newfile/path**}"但是更新它给了我-文件找不到: /root/.tmp/rpmrebuild.2345/work/root/opt/{path/to/newfile}
我不知道为了替换源中的文件及其在.spec中的引用,我是否必须使用rpmrebuild命令和任何--params。没有其他的改变要做。
请指点。
注:我是unix新手。
发布于 2020-04-25 17:21:26
我想你们没有这个包裹的src.rpm。如果您这样做了,那么它是非常容易的,只需安装在rpm -ihv /path/to/src/rpm,就像你要做的任何RPM文件。除非另有规定,否则内容将被提取到~/rpmbuild。规范将在~/rpmbuild/SPECS之下,在~/rpmbuild/SOURCES下的源,等等。
如果您没有src.rpm,而只有RPM本身,请从EPEL repos安装rpmrebuild包,然后:
$ rpmrebuild -e -p /path/to/package它将在默认编辑器中打开规范。编辑它并保存规范到任何你想要的地方。然后,假设您拥有所有所需的源文件(在规范中使用SourceN指令声明),您可以调用:
$ rpmbuild -bb /path/to/spec从编辑的规范重新构建RPM。
https://stackoverflow.com/questions/61316937
复制相似问题