标签: rpm

使用python yum/rpm API查找rpm依赖项?

它似乎应该可用,但我似乎无法找到它.

就像是:

pkg = rpm.Package(name="some package")
dependencies = pkg.dependencies()
Run Code Online (Sandbox Code Playgroud)

有没有这样的东西,比我现在做的更干净?

目前,我正在使用子进程包装rpm命令并手动解析输出:

cmd = "rpm -qRp {file} | sort | uniq".format(file=filename)
cmd_output = subprocess.check_output(cmd, shell=True)
# ... long parse of cmd_output
Run Code Online (Sandbox Code Playgroud)

python rpm yum

0
推荐指数
1
解决办法
1948
查看次数

spec文件中的rpm -e {rpmName}不起作用

场景:有3个rpms A,B和C.

当我们安装rpm A时,我们也正在安装rpm B和C.所以第一次安装工作正常.当我们在升级过程中安装更新版本的rpm A时,我们要删除之前rpm安装的rpm B和C一个.

要求:在安装新的rpm A之前,检查是否安装了B和C. 如果是,则卸载B和C.因此新的rpm A可以安装新的rpm B和C.

我们尝试了什么:

A的spec文件%pre section:

%pre
如果rpm -qa | grep B; 然后
rpm -e B;
fi
如果rpm -qa | grep C; 然后
rpm -e C;
科幻

我们正在使用傀儡.当我们运行puppet agent -t --debug时,在安装rpm A之前它会被挂在下面的线上!

调试:执行'/ usr/bin/yum -d 0 -e 0 -y install A'

知道为什么我们无法卸载这些rpm吗?

编辑:让我解释一下正确的场景:

它是遗留代码,我们正在修复升级期间发生的问题!

在木偶中我们已经提到如果我们安装rpm A,确保存在rpm B和C.

步骤:
1.我们将rpm A,B和C上传到我们的puppet服务器.
2. puppet agent –t在我们的木偶客户端中运行.
3.它安装所有的rpms
4. Rpm A的.spec文件:在%pre他们正在执行rm –rf /m/n/current%install部分中,他们正在执行的部分中,mkdir /m/n并在此文件夹中提取rpm A的内容. …

linux rpm rpm-spec

0
推荐指数
1
解决办法
136
查看次数

如何用python获取安装linux rpms的列表

我用subprocess.getoutput("rpm -qa").split("\n"),它不是很好.

你能帮我找一个模块吗?

ps:rpmfile模块只能读取.rpm文件

python rpm

0
推荐指数
1
解决办法
2167
查看次数

rpm“ Release”中不允许使用哪些字符?

机器1

#uname -r
Machine 1:3.2.45-0.6.wd.561.41.269.metal1.x86_64
#rpmbuild --version
RPM version 4.8.0
Run Code Online (Sandbox Code Playgroud)

在尝试rpmbuild时,我在以下版本中遇到了非法char''':版本:25.'4283295'.mybranch

我写的脚本中有错误,该脚本在数字后面加上了引号。

在机器2上

# uname -r
2.6.16.33-xenU
# rpmbuild --version
RPM version 4.4.2
Run Code Online (Sandbox Code Playgroud)

在这里rpmbuild似乎可以使用名称中的单引号:myapp-1.4.25.'4283295'.mybranch.x86_64.rpm

我收集到在较早的情况下版本中不允许使用单引号。我应始终避免使用哪些字符集?

rpmbuild版本是否存在差异?

我在rpm名称/版本/发行版中找不到允许的字符。任何指针将不胜感激。

rpm rpmbuild

0
推荐指数
1
解决办法
2211
查看次数

Linux库有哪些包?

我想在CentOS 7上安装一个需要几个库的应用程序:

libcryptopp.so.6
libdns_sd.so.1
libstdc++.so.6
libstdc++.so.6
Run Code Online (Sandbox Code Playgroud)

我在哪里可以获得这些库?有没有包含它们的yum回购?他们是标准的吗?如果是这样,我安装什么软件包来获取这些库?

有人请指教.

linux rpm yum shared-libraries

0
推荐指数
1
解决办法
118
查看次数

有没有rpm命令查看.rpm包安装日志

安装失败时是否有 rpm 命令来检查 .rpm 包安装日志,以查明发生了什么

linux rpm

0
推荐指数
1
解决办法
8090
查看次数

Noarch rpm和rpm之间的差异

有人可以解释noarch rpm和rpm之间的区别。难道这两个都是家属。我有Jenkins rpm,也有一些noarch rpm。我可以用noarch rpm做些什么。谢谢你的帮助

linux operating-system redhat centos rpm

0
推荐指数
1
解决办法
2169
查看次数

如何在没有互联网连接的情况下安装 yum rpm 软件包?

这个问题以前有人问过,但我的有点不同。

我想使用 sudo yum 安装一堆 rpm 包。我想安装它们的机器上没有互联网连接。这些包也不存在于网络中的任何机器上。

有没有一种方法可以在没有互联网连接的情况下安装它们,并且它们不在网络中的任何机器上的任何地方(因此不能使用 --downloadonly 选项)?

installation rpm yum internet-connection

0
推荐指数
1
解决办法
9999
查看次数

在创建RPM包时,如何自动安装依赖项

我的程序基本上是一个基于C的MySQL服务器,它需要gcc,mysql-server,mysql-devel才能成功运行.

现在我必须将程序打包到RPM包中,它应该能够自动安装依赖项,以便RPM包可以安装在干净的RHEL机器上,程序可以在安装后立即运行.

问题是如果我在SPEC文件%pre部分写下面的脚本,它会在"事务"期间卡住.

sudo yum groupinstall "Development Tools" -y
sudo yum install mysql-server mysql-client -y
Run Code Online (Sandbox Code Playgroud)

看来你不能在SPEC文件中使用另一个rpm安装工具.

我该怎么做呢?

rpm rpmbuild rpm-spec

0
推荐指数
1
解决办法
1931
查看次数

yum install perl失败的依赖项

我收到了这个错误,在网上搜索但找不到任何东西.

请帮忙,新手

错误:失败的依赖项:rpm -ivh perl-5.8.8-43.el5_11.i386.rpm

[root@workstation ~]# rpm -ivh perl-5.8.8-43.el5_11.i386.rpm
error: Failed dependencies:

libc.so.6 is needed by perl-5.8.8-43.el5_11.i386
libc.so.6(GLIBC_2.0) is needed by perl-5.8.8-43.el5_11.i386
libc.so.6(GLIBC_2.1) is needed by perl-5.8.8-43.el5_11.i386
libc.so.6(GLIBC_2.1.2) is needed by perl-5.8.8-43.el5_11.i386
libc.so.6(GLIBC_2.1.3) is needed by perl-5.8.8-43.el5_11.i386
libc.so.6(GLIBC_2.2) is needed by perl-5.8.8-43.el5_11.i386
libc.so.6(GLIBC_2.2.4) is needed by perl-5.8.8-43.el5_11.i386
libc.so.6(GLIBC_2.3) is needed by perl-5.8.8-43.el5_11.i386
libc.so.6(GLIBC_2.3.2) is needed by perl-5.8.8-43.el5_11.i386
libc.so.6(GLIBC_2.3.4) is needed by perl-5.8.8-43.el5_11.i386
libc.so.6(GLIBC_2.4) is needed by perl-5.8.8-43.el5_11.i386
libcrypt.so.1 is needed by perl-5.8.8-43.el5_11.i386
libcrypt.so.1(GLIBC_2.0) is needed by perl-5.8.8-43.el5_11.i386
libdb-4.3.so is …
Run Code Online (Sandbox Code Playgroud)

perl rpm yum

0
推荐指数
1
解决办法
317
查看次数

有没有办法在单管道命令链中以有效的方式组合以下两个 UNIX 命令?

问题陈述

  1. 我想使用rpm -qi ${pkgName}.
  2. cat -n 在 (1) 的输出中会告诉我病房描述部分的哪一行开始。

    例如:- 第 15 行,以防 rpm 中的 atom IDE 编辑器。

  3. 我知道我可以使用此行号作为 rpm -qi atom | awk -v n=${lineNum} 'NR>=n'. 这lineNum将是 15。

这是低效的,我只想使用该rpm -qi命令一次,然后实现提取关于病房的描述部分。有没有人有办法做到这一点?

额外要求的输入

[anand@ldnpsr2937 ~]$rpm -qi atom
Name.       : atom
Version     : 1.42.0
Release     : 0.1
Architecture: x86_64
Install Date: Sun 12 Jan 2020 10:23:12 AM
Group       : Unspecified
Size        : 590646918
License     : MIT
Signature   : (none)
Source RPM  : atom-1.42.0-0.1.src.rpm
Build Date …
Run Code Online (Sandbox Code Playgroud)

unix awk sed rpm

0
推荐指数
1
解决办法
77
查看次数

在 AWS EC2 上安装 CodeDeploy 代理时出错

在我新创建的 EC2 实例 (Ubuntu 14.04) 上安装 CodeDeploy 代理时,我rpm在执行安装或重新安装 AWS CodeDeploy 代理指南中的步骤时遇到了错误。

命令:

wget https://aws-codedeploy-us-west-2.s3.amazonaws.com/latest/install

chmod +x ./install

sudo ./install auto
Run Code Online (Sandbox Code Playgroud)

错误:

sudo: unable to resolve host ip-10-0-88-56
I, [2016-08-12T01:22:00.600236 #30533]  INFO -- : Starting Ruby version check.
I, [2016-08-12T01:22:00.600470 #30533]  INFO -- : Starting update check.
I, [2016-08-12T01:22:00.600565 #30533]  INFO -- : Checking AWS_REGION environment variable for region information...
I, [2016-08-12T01:22:00.600645 #30533]  INFO -- : Checking EC2 metadata service for region information...
I, [2016-08-12T01:22:00.627237 #30533]  INFO …
Run Code Online (Sandbox Code Playgroud)

ubuntu rpm amazon-ec2 amazon-web-services aws-code-deploy

-1
推荐指数
1
解决办法
1385
查看次数