在完全隔离的机器上,如何安装 rpm?

分享于 

2分钟阅读

互联网

 

问题:

我有一台安装CentOS Minimal的机器。 它完全隔离。这意味着:

  • 它永远不能连接到另一台服务器或者笔记本电脑
  • 我唯一能连接到它的是u盘。

我的目标是:

  • 在上面运行 yum install docker 以便它可以运行容器。

我浏览了一下如何下载一批rpm及它的依赖关系,然后在脱机系统上安装它们。


$ docker run -v $PWD/pkg:/pkg centos:7


# mkdir/tmp/empty


# yum install -y 


 --installroot/tmp/empty 


 --releasever 7 


 --downloadonly 


 --downloaddir/pkg 


 docker



现在我在文件夹里有很多RPM文件。 然后我运行:


$ yum install/tmp/pkg/*


...


Error: Package: rpm-python-4.11.3-32.el7.x86_64 (installed)


 Requires: rpm = 4.11.3-32.el7


 Removing: rpm-4.11.3-32.el7.x86_64 (installed)


 rpm = 4.11.3-32.el7


 Updated By: rpm-4.11.3-35.el7.x86_64 (/rpm-4.11.3-35.el7.x86_64)


 rpm = 4.11.3-35.el7



有什么可行的解决方法?


回答 1:

你最好的办法是在那个u盘上维护一个更完整的镜像。 你可以使用 reposync 获取镜像到你存储的远程存储库。 定期运行它以保持它的当前状态。 然后,使用 createrepo 创建/更新 repo 元数据。 最后,在独立主机上,为该USB磁盘的挂载点配置 yum repo。


[usb]


name=Airgaps Are Fun


baseurl=file:///mnt/usbdisk


enabled=1


gpgcheck=1


gpgkey=file:///mnt/usbdisk/gpgkey





COM  mac  MACH  Complete  ISO  RPM