标签: rpm

如何将Python打包为RPM并安装到/opt?

如何从 Python 2.7.2 源创建二进制 RPM 包以安装到非标准前缀(例如 /opt/python27)?

假设以下构建正确。

wget http://python.org/ftp/python/2.7.2/Python-2.7.2.tgz
tar zxvf Python-2.7.2.tgz
cd Python-2.7.2
./configure --prefix=/opt/python27 --enable-shared
make
make test
sudo make install
Run Code Online (Sandbox Code Playgroud)

我想构建一个二进制 RPM,而不是最后一个命令。

python build rpm

5
推荐指数
1
解决办法
6133
查看次数

使用jenkins构建RPM包

我想使用 Jenkins 创建 RPM 包以将代码和脚本部署到 Linux redhat 机器上所以应用程序是技术的混合(不需要编译)我只需要打包应用程序将它们部署到正确的位置重新启动阿帕奇

有人能提供一些关于如何为新手执行这些步骤的说明吗:

一些问题:

  1. 如果我要创建将部署到linux redhat机器上的RPM,我是否需要在本地linux机器上安装jenkins(我希望在windows上安装jenkins)

  2. 有没有人有一个从本地文件夹创建包的示例(目前没有源代码控制)我只想指定从中获取代码的目录并指定将代码部署到 rpm 所在计算机上的位置安装在

  3. 在目标计算机上,我想运行类似 yum -install mypackage-version12.rpm 的东西,它将把代码/脚本安装到指定的目录并重新启动 apache 我也需要一个这样的例子。

谢谢

installation rpm jenkins

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

rpm 需要范围

我目前有两个问题:

1) 是否可以在 rpm 规范文件中指定软件包的范围?就像是

package >= 1.0.0 且 package < 1.0.50 意味着它将选取接近 1.0.50 的最新包版本

2) 有人知道 yum 是否会更新到更高版本的包,即使在规范文件中指定的版本较低?或者有什么可以避免升级到更高版本?为了更清楚起见,这是我的例子:

我的仓库中有两个包: package-1.0.5-1 package-2.0.10-1

如果我的包的规格文件!具有以下要求 要求:package > 1.0.5

当我执行 yum 安装 packageA 时,这意味着它将安装 1.0.5 版本的更高版本,或者它会假设 2.0.10 更高并会安装它?我想要实现的是告诉我的包只安装 1.0.5 版本的版本,而不是跳到 2.x 版本。

我希望我已经表达清楚了。感谢您给我的任何提示或回复

rpm rhel

5
推荐指数
1
解决办法
2222
查看次数

如何检测 RPM 是源 rpm 还是二进制 rpm?

如何检测 RPM 是源 rpm 还是二进制 rpm?

显然我不想依赖文件名。

rpm rpm-spec

5
推荐指数
1
解决办法
3194
查看次数

如何递归下载RPM依赖项?

我想编写一个迷你脚本,用于下载 Linux RedHat 中 RPM 包的所有递归依赖项。

当我使用时:

repoquery -a --requires --recursive --resolve PACKAGE_NAME
Run Code Online (Sandbox Code Playgroud)

我没有获得所有递归依赖项,但是当我使用时:

repoquery -a --tree-requires PACKAGE_NAME
Run Code Online (Sandbox Code Playgroud)

我获得了所有依赖项,但没有获得可以通过管道导入的可用列表yumdownloader

我应该怎么办?

linux bash redhat rpm yum

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

在规范文件中设置 EPEL 包的依赖关系

我正在为依赖于php-mcrypt. 我的目标操作系统CentOS 6.5 php-mcrypt不在CentOS存储库中,但在EPEL. 有没有Requires:比手动安装EPEL更好的方法来满足这种在线依赖关系%pre?我真的不喜欢在 中强制安装另一个存储库的想法RPM,但我也不喜欢当RPMs 无法安装似乎不存在的依赖项时,直到有人足够聪明开始搜索各种国外回购。

处理这个问题的最佳方法是什么?

dependencies rpm epel

5
推荐指数
1
解决办法
690
查看次数

RPM 需要当前安装内核的 kernel-devel 包

我写了一个 RPM 规范,它对 kernel-devel 包有要求。但是,安装任何kernel-devel 包都可以满足这一点。如何指定 RPM 需要当前运行的内核版本的 kernel-devel 包。

例如,我们的客户可能正在运行 3.10.0-514,但最新的是 3.10.0-693。如果您执行“yum install -y kernel-devel”,您将获得最新版本的头文件,满足我的 RPM 中的“Requires”行。我想确保安装的标头适用于 3.10.0-514。

linux packaging centos rpm

5
推荐指数
1
解决办法
1055
查看次数

如何在安装废弃另一个 RPM 的 RPM 时检测升级

RPM 脚本小程序以$1(此名称的程序包的数量,当操作完成时将留在系统上)传递,因此它们可以确定是否正在升级或删除程序包。由于我无法控制的原因,我相信包的下一个版本可能与第一个版本具有不同的包名称。我试图创建一个“过时”旧包并使用它升级的新包。然而,旧包 postun scriptlet 仍然得到 $1 == 0 并且我的 postun 清理脚本运行了。

这有点边缘情况,因为从技术上讲,还有 0 个具有该名称的软件包,但我认为过时的情况可能会假装在升级过程中仍然存在具有该名称的软件包。有没有一种方法可以测试包被淘汰时的情况,以便脚本可以确定正在发生升级而不是包删除?

redhat centos fedora rpm rpm-spec

5
推荐指数
1
解决办法
608
查看次数

如何在没有互联网和内网 yum 存储库的情况下安装 docker-ce?

我从官网下载了RPM包,但是安装的时候还是需要下载一些依赖。我需要在没有任何网络或存储库的情况下安装 docker-ce,所以我需要我依赖的所有 RPM 包以及它们的安装顺序。

Docker-CE 版本:18.03+

installation centos rpm docker docker-ce

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

zypper 列出未安装包中的文件

使用zypper search,我可以找到包。我知道我可以使用

rpm -qlp <package.rpm>
Run Code Online (Sandbox Code Playgroud)

列出文件,但我没有;因为它位于其中一个zypper存储库中。有这样的吗?

zypper list-files-in <package>
Run Code Online (Sandbox Code Playgroud)

注意:我正在为试图解决相同问题的其他人创建一个自我回答的问答

rpm zypper

5
推荐指数
1
解决办法
1350
查看次数