草庐IT

python - 如何在 python 中比较 Rpm 版本

我正在尝试找出如何比较2个RPMS列表(当前安装)和(在本地存储库中可用)并查看哪些RPMS已过时。我一直在修补正则表达式,但RPMS有太多不同的命名标准,我无法找到一个好的列表来使用。我的驱动器上没有实际的RPMS,所以我不能执行rpm-qif。pattern1=re.compile(r'^([a-zA-Z0-9_\-\+]*)-([a-zA-Z0-9_\.]*)-([a-zA-Z0-9_\.]*)\.(.*)')forrpminlistOfRpms:packageInfo=pattern1.search(rpm[0]).groups()printpackageInfo这适用于绝大多

python - 使用 RPM 分发 python 包以及模块依赖项

我有几个由脚本/模块组成的python应用程序,应该打包并部署为RPM。更棘手的一点是每个应用程序都应该与所有python模块依赖项一起分发,并且应该优先使用这些应用程序而不是系统范围内安装的任何应用程序。其中一些RPM的目标主机具有有限的网络访问权限,因此RPM应包含运行应用程序所需的一切,而不是在部署时下载任何内容。我看过包装和分发virtualenv,但似乎没有很好地支持重新定位virtualenv。我看过zc.buildout,但发现缺少文档。我可以看到如何在开发过程中下载依赖项,但看不到如何将它们作为更大应用程序的一部分进行分发。不同的应用程序可能需要同一模块的不同版本,因此

python - 根据要求从 RPM 添加模块

所以我的这个项目有很多依赖项,这些依赖项是从pip安装的,并记录在requirements.txt中我现在需要添加另一个pip上不存在的依赖项,我将它作为某个地址中的RPM。根据要求安装它的最Pythonic方式是什么?谢谢!代码将在RHEL和Fedora上运行 最佳答案 在这种情况下,如果无法满足依赖关系,Pythonic要做的事情就是简单地失败。没关系,如果您的用户不满足安装的先决条件,他们会收到一个有用的错误提示。为了正确构建和安装,考虑许多具有C库依赖项的Python包。在您的项目中,仍然在“setup.py”和“requi

CentOS7下rpm包方式升级openssl到安全版本1.1.1q

参考链接:https://cloud.tencent.com/developer/article/1767718OpenSSL是一个安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。OpenSSL是Openssl团队的一个开源的能够实现安全套接层(SSLv2/v3)和安全传输层(TLSv1)协议的通用加密库。该产品支持多种加密算法,包括对称密码、哈希算法、安全散列算法等。OpenSSL常常会爆出一些漏洞下面介绍CentOS7下rpm包方式升级openssl到安全版本第一步制作openssl_1.1.1q的安装脚本vimi

docker - 从 Dockerfile 构建时如何访问本地文件?

我从Dockerfile构建时需要hello.rpm,但是这个rpm文件在线不可用。现在我通过启动一个临时网络服务器来提供文件,但理想情况下我想运行一个build命令,使这个本地文件在容器中可用。这可能吗?我的构建命令:dockerbuild-tfredrik/helloworld:1.0.我的Dockerfile:FROMcentos:6RUNrpm-ivhhello.rpm 最佳答案 你为什么不COPY执行RUN之前容器内的文件?FROMcentos:6COPYhello.rpm/tmp/hello.rpmRUNrpm-ivh/

docker - 从 Dockerfile 构建时如何访问本地文件?

我从Dockerfile构建时需要hello.rpm,但是这个rpm文件在线不可用。现在我通过启动一个临时网络服务器来提供文件,但理想情况下我想运行一个build命令,使这个本地文件在容器中可用。这可能吗?我的构建命令:dockerbuild-tfredrik/helloworld:1.0.我的Dockerfile:FROMcentos:6RUNrpm-ivhhello.rpm 最佳答案 你为什么不COPY执行RUN之前容器内的文件?FROMcentos:6COPYhello.rpm/tmp/hello.rpmRUNrpm-ivh/

linux - 如何从已安装的 RPM 中获取许可证列表?

我们被要求列出我们组织中使用的所有软件和许可证。在不确定这个请求的值(value)的情况下,我想让我的Fedora笔记本电脑轻松回答这个问题。rpm-qa给我一​​个包列表,但没有许可证数据。我的下一步是获取该输出并编写脚本来查询每个包的许可证。有人有更简单的想法吗? 最佳答案 rpm-qa--qf"%{name}:%{license}\n" 关于linux-如何从已安装的RPM中获取许可证列表?,我们在StackOverflow上找到一个类似的问题: htt

linux - RPM 中更改的文件列表

我想知道是否有办法做到以下几点:我在系统上安装了rpMA-v1。它有很多配置文件,用户可以根据自己的目的进行编辑。然后,我想安装新版本的rpmA,比如rpmA-v2,在安装之前我想备份那些已编辑的配置文件,而不是再次编辑配置文件。有什么方法可以知道在这种情况下编辑了哪些文件? 最佳答案 如果您谈论的是与给定包相关的配置文件,rpm已经为此提供了非常强大的机制,称为.rpmnew/.rpmsave.如果软件包正在升级,根据软件包创建者/维护者的判断,rpm可能会采取两种可能的操作:旧配置完好无损地保存在/etc/myprog/conf

linux - 如何递归下载RPM依赖?

我想编写一个迷你脚本,在LinuxRedHat中下载RPM包的所有递归依赖项。当我使用时:repoquery-a--requires--recursive--resolvePACKAGE_NAME我没有得到所有的递归依赖,但是当我使用时:repoquery-a--tree-requiresPACKAGE_NAME我获得了所有依赖项,但没有获得可通过管道传输到yumdownloader中的可用列表。我该怎么办? 最佳答案 你可以试试repotrack它将下载一个或多个包和所有依赖项。 关于

linux - RPM 规范文件 - 如何在 %pre 脚本中获取 rpm 包位置

我现在与RPM包管理器一起工作了大约一个月。目前我想使用rpm-U来升级之前RPM执行的现有内容,但我需要知道文件系统上的rpm包位置。我能想到的唯一方法是在整个文件系统中搜索%pre脚本中的rpm名称,但我真的很想避免使用该选项。有什么方法可以将rpm包的路径(包可以在系统上的任何位置)作为规范文件(%pre和%post脚本)中的变量。希望我已经足够清楚地解释了我的问题。欢迎任何帮助或建议。 最佳答案 没有一个安装包的位置(或路径),所以我不确定你在问什么。由名为“foo”的已安装rpm包安装的文件可以显示rpm-ql富除了“/”