只下载rpm包而不安装(用于内网虚拟机使用)

问题:

公司虚拟机仅使用内网无法通过yum下载依赖

解决方法之一就是从一台连了公网的虚拟机(NAT) 下载需要的rpm包,然后拷贝到公司的虚拟机中去安装;

解决:

使用一台连接了公网的虚拟机(可以自己用笔记本转一个Linux系统),用此虚拟机下载rpm包,然后拷贝到只有内网的虚拟机上!
而由于yum install安装完之后会自动清理安装包,如果只想通过yum下载软件的安装包,但是不需要进行安装的话,这里使用 yumdownloader 命令。

1. 安装yum-utils

yumdownloader 命令在软件包 yum-utils 里面。先安装 yum-utils :

yum install yum-utils -y

查看 yum-utils 软件包有没有 yumdownloader,如果有输出代表可用:

rpm -ql yum-utils |grep yumdownloader

即当前虚拟机已经有yumdownloader了;
在这里插入图片描述

2. 下载rpm包

比如只想下载java-1.8.0-openjdk,但是不安装,可以执行如下指令:

yumdownloader java-1.8.0-openjdk.x86_64

在这里插入图片描述

单纯的使用yumdownloader 只会下载给定名称的既定RPM包,安装时候所需要的一些依赖不会被下载。如果要下载依赖加上"–resolve"参数,如果要指定下载目录。加上"–destdir"参数;

yumdownloader java-1.8.0-openjdk.x86_64 --resolve --destdir=/opt/java/

3. 将rpm包拷贝到离线的虚拟机并安装

将以上下载的rpm包传到离线的虚拟机,找到包进行安装:

rpm -ivh  *.rpm --nodeps

--nodeps就是安装时不检查依赖关系,比如你这个rpm需要A,但是你没装A,这样你的包就装不上,用了–nodeps你就能装上了

--force就是强制安装,比如你装过这个rpm的版本1,如果你想装这个rpm的版本2,就需要用–force强制安装

查看是否安装成功:

rpm -q xorg-x11-xauth 

在这里插入图片描述
安装成功。

遇到的问题:

1. error while loading shared libraries: libXXX.so.X: cannot open shared object file: No such file

原因是虽然安装了rpm包,但是安装的动态链接库目录并没有被系统加载到,需要手动去配置动态链接库的地址;

动态链接库目录一般在:/lib/usr/lib
目录中是一些动态链接文件:
在这里插入图片描述

需要将这两个目录添加到动态链接库的配置文件让其被系统加载到, 需要在 /etc/ld.so.conf 中加路径:

vim /etc/ld.so.conf

在这里插入图片描述
此时下载的rpm包就会被加载到了;

2. wrong ELF class: ELFCLASS32

装rpm包时装成了 i686结尾的,这是32位用的,换成 x86_64结尾的即可;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值