标签: rpm

如何制定一个rpm规范,将基于arch的库安装到/ usr / lib xor / usr / lib64?

我正在为centos制定RPM规范,如果拱是64位,则需要将共享库安装到/ usr / lib64,否则需要将/ usr / lib安装到共享库?

centos rpm rpm-spec

3
推荐指数
1
解决办法
4266
查看次数

如何将rpm包安装到非默认路径?

我有一个rpm包,我需要从中提取一些文件.包是不可重定位的,我试过"rpm --root/ - prefix",这不起作用.我应该采取什么方法来提取?

感谢Advace.

system-administration rpm

3
推荐指数
1
解决办法
4776
查看次数

创建一个RPM来简单地解压缩tar球

我正在为rpm写一个.spec文件,它只是将tar球解压缩到文件系统的某个目录中

那我在哪里放原始的焦油球?我见过的所有例子都是从互联网上下载原始的tar球.但在我的情况下,情况并非如此.

我应该将tar球放在%files部分中,以便它成为rpm的一部分吗?如果是这样,那么如何在%setup宏中引用它来解压缩呢?

rpm rpmbuild

3
推荐指数
1
解决办法
7170
查看次数

如何在安装新内核时自动执行linux内核模块编译?

我正在编写一个Linux内核模块.它与所有源文件(尽管许可证是专有的)一起发布,以针对正在运行的内核进行编译.安装我的模块(作为.deb包分发)时,它会自动编译和安装.这有效.

问题是在整个Linux系统的常规升级过程中,安装了较新版本的Linux内核.当这样的新版本的内核开始运行时,它没有为我编译我的模块,并且我的应用程序失败了.我想在安装新的Linux内核软件包时编译和安装我的模块.

因此我的问题是:在dpkg安装新的Linux内核软件包时,是否有一种机制可以触发我的软件包中的某些内容来编译和安装我的模块?

同样的问题rpm

linux rpm dpkg kernel-module linux-kernel

3
推荐指数
1
解决办法
1813
查看次数

创建规范文件(RPM)

ive 2个文件,其中包括要执行的shell命令,以及ive 1 iptables-save,其中包括需要安装的链

如何将spec文件写入:

-1将我的2个shell文件复制到/ etc /

-2执行iptables-restore </ home/iptables-save

谢谢你的时间.

PS:我经历了这个方法.不幸的是我是新手,我找不到解决方案.

linux shell rpm

3
推荐指数
1
解决办法
2万
查看次数

%config(noreplace)文件上出现意外的RPM冲突

我创造我自己的RPM使用rpmbuild.
我的RPM 包含配置文件,即使RPM包含这些配置文件的新版本,也不应该覆盖这些配置文件.

要归档这个,我用这些标记

%config(noreplace) /opt/mypackage/etc/*
Run Code Online (Sandbox Code Playgroud)

在spec文件中.

根据文档和本网站,在这种情况下,本地修改的文件永远不会被覆盖,这正是我想要的.

但是,在执行以下操作时:

  1. 安装RPM的版本1
  2. 更改配置文件 etc/myconfig
  3. 使用RPM版本2更新软件包

我遇到了冲突:

$ rpm --prefix ~/rpmroot/ -ih dist/mypackage-1.0.1-1.x86_64.rpm
########################################### [100%]
file /home/user/rpmroot/mypackage/etc/myconfig from install of mypackage-1.0.2-1.x86_64 conflicts with file from package mypackage-1.0.1-1.x86_64
Run Code Online (Sandbox Code Playgroud)

问题:

  • 如何解释这种冲突?(我希望配置文件的新版本将存储为myconfig.rpmnew,并且现有的保持不变)
  • 我做错了什么?


更新(附加信息)

输出rpm -qcp dist/mypackage-1.0.1-1.x86_64.rpm是:

/opt/mypackage/etc/config1.xml
/opt/mypackage/etc/config2.xml
/opt/mypackage/etc/run.sh
/opt/mypackage/etc/config3.xml
Run Code Online (Sandbox Code Playgroud)

完整%files部分:

%files
%defattr(0444,root,root)
/opt/mypackage/java/*

#dba
%defattr(0444,root,root)
/opt/mypackage/dba/sql/*
%defattr(0555,root,root)
/opt/mypackage/dba/script/*

#srv
%defattr(0555,root,root)
/opt/mypackage/srv/bin/*
/opt/mypackage/srv/lib/*

#etc
%defattr(0664,root,root)
%config(noreplace) /opt/mypackage/etc/*
Run Code Online (Sandbox Code Playgroud)

unix linux rpm rpmbuild rpm-spec

3
推荐指数
1
解决办法
3221
查看次数

让 rpm %patch 不使用默认的 --fuzz=0 选项

我在 el6 机器上得到如下错误:

Patch #4 (test.patch):
+ /bin/cat /path/to/test.patch
+ /usr/bin/patch -s -p0 --fuzz=0
1 out of 4 hunks FAILED -- saving rejects to file ***
1 out of 1 hunk FAILED -- saving rejects to file ***
error: Bad exit status from /var/tmp/rpm-tmp.YeRtKr (%prep)
Run Code Online (Sandbox Code Playgroud)

但是,我可以使用 commond 应用补丁文件,如下所示:

/usr/bin/patch -s -p0 < /path/to/test.patch.

我注意到 rpm--fuzz=0默认设置。有没有办法让 rpm 不设置--fuzz=0选项?

rpm

3
推荐指数
1
解决办法
1473
查看次数

需要一点帮助来为 nodejs 应用程序创建 rpm 包

我已经按照说明准备了一个构建框,我四处搜索并进行了 hello world rpm 构建,但仍然不确定打包一堆 js 文件(nodejs 应用程序)的最佳方法是什么。我想 :

  1. 将文件部署到某个位置
  2. 运行 # npm 安装
  3. 运行命令以启动节点侦听器/守护程序。

我已经完成了一个非常简单的规范文件,如下所示:

Name:           nodejsapp
Version:        1.0
Release:        0
Summary:        API for a Platform

Group:          Group
License:        License
URL:            somewebsite
Distribution:   Linux CentOS
Source0:        %{name}-%{version}.tar.gz

%description
CDR Platform is awesome product.


%prep

%install
install -m 755 -d $RPM_BUILD_ROOT/opt/cdr/api

%clean
rm -rf $RPM_BUILD_ROOT


%files
%defattr(-,root,root,-)
Run Code Online (Sandbox Code Playgroud)

以上构建,但当我安装时没有任何反应!我不确定我是否完全理解 rpmbuild 是如何开展业务的。

那么在这种情况下我需要使用哪个宏?我需要在 %files 下创建一个文件列表吗?在运行 rpmbuild 之前我需要 gzip 文件吗?或者我可以在 rpmbuild 期间 gzip 它们吗?

任何帮助表示赞赏。

linux rpm rpmbuild node.js centos6

3
推荐指数
1
解决办法
5904
查看次数

RPM规范%post不在rpmbuild中执行

给定最小的RPM规范文件,该文件应仅执行一个%post节:

$ cat ~/RPMBUILD/SPECS/test.spec
Name:           None
Version:        1.0
Release:        1
Summary:        Bla
License:        Proprietary

%description
Bla

%prep

%build

%install

%clean

%post
echo ">>> Inside post <<<"

%files
Run Code Online (Sandbox Code Playgroud)

然而,从回声%post执行:

$ rpmbuild -v -bb  ~/RPMBUILD/SPECS/test.spec
Executing(%prep): /bin/sh -e /home/ronbarak/RPMBUILD/tmp/rpm-tmp.IvhCZs
+ umask 022
+ cd /home/ronbarak/RPMBUILD/BUILD
+ LANG=C
+ export LANG
+ unset DISPLAY
+ exit 0
Executing(%build): /bin/sh -e /home/ronbarak/RPMBUILD/tmp/rpm-tmp.yCLpOK
+ umask 022
+ cd /home/ronbarak/RPMBUILD/BUILD
+ LANG=C
+ export LANG
+ unset DISPLAY
+ …
Run Code Online (Sandbox Code Playgroud)

rpm rhel rpmbuild rpm-spec

3
推荐指数
1
解决办法
2579
查看次数

如何在CentOS 7上安装GNU parallel(noarc.rpm)

我想在Centos 7上安装GNU parrallel没有太多信息可以找到.有人能解释我怎么做吗?这是我发现的一些有用的信息

rpm gnu-parallel centos7

3
推荐指数
1
解决办法
9659
查看次数