如何创建包含所有依赖项的全新 rpm - Ansible 断开连接的包

如何创建包含所有依赖项的全新 rpm - Ansible 断开连接的包

我需要在没有互联网连接的节点上安装 Ansible。我下载并安装了所有依赖项。现在我想创建一个包含所有依赖项的完整包。

主要 rpm - ansible-2.3.0.0-3.el7.noarch.rpm

依赖关系

  • python2-pyvmomi-6.5-1.el7.noarch.rpm
  • python-crypto-2.0.1-1.el7.rf.x86_64.rpm
  • python-crypto-2.6.1-1.el7.rf.x86_64.rpm
  • python-ecdsa-0.11-3.el7.centos.noarch.rpm
  • python-httplib2-0.7.7-3.el7.noarch.rpm
  • python-keyczar-0.71c-2.el7.noarch.rpm
  • python-paramiko-1.15.1-1.el7.noarch.rpm
  • python-pyasn1-0.1.6-2.el7.noarch.rpm
  • PyYAML-3.10-11.el7.x86_64.rpm
  • sshpass-1.05-5.el7.x86_64.rpm

这是完整的列表,以防有人能够提供帮助。

创建包有什么具体流程吗?

答案1

这些软件包将被一一安装,重命名它们可能会破坏未来的系统更新。另外,编写一个整体包会非常耗时(唉,你可能会学到很多东西)

您可以压缩所有依赖项(即 tar.gz),然后将它们作为单个文件移动。

tar cvfz ansible-2-3-fulldeps.tar.gz *.rpm

解压文件后,您可以使用通配符一次性安装所有软件包:

tar xvfz ansible-2-3-fulldeps.tar.gz
yum install *.rpm

答案2

无需创建包含所有这些的包。我在工作场所也做过类似的事情。下载文件夹中所需的所有 rpm 后,您可以使用它(依赖项 + 实际的 ansible 安装程序):

yum --nogpgcheck localinstall *.rpm

知道如何单独解决依赖关系,并且不需要手动按顺序安装它们。

我知道安装 x.rpm 是多么烦人,并且输出将是“您需要先安装 y.rpm”而不是“x.rpm 安装成功”。

如果您愿意,您可以创建一个本地存储库,供其他人使用并以更好的方式安装它。干杯!

相关内容