当yum因离线无法使用是要如何处理—我的yum用不了啦
场景:
尝试思考以下场景:
1、私有化做一些项目部署 不具备外网环境无法配置Yum源去安装自己需要的软件(如 lrzsz vim gcc sngrep等等常用工具)时
2、当使用Redhat自带的yum源时是要付费,是无法直接使用yum的,且同样不具备外网条件
3、由于安全原因不做公网出入网暴漏服务器
ps:说白了还是没外网
以上情况无法使用yum操作是要如何处理呢 以下提供几个方案
解决方案
一、做离线yum源
因篇幅过长不易展示 故可以参考文档(也是作者撰写)链接如下:
链接: https://download.csdn.net/download/weixin_43025078/11382058
共计6页数 图文并茂讲解如何搭建本地yum源
优点:
1、方便快捷装好之后可以处理大部分基础常见软件 如 vim gcc等
2、如果有包则可以自行处理依赖问题
缺点:
1、针对一些不常见的包是没有收录的 还是处理不了 如我需要安装sngrep(sip分析工具) 他就做不了
二、自行搜包下载
那么如果第一种方式无法解决(感觉大部分第一种可以解决 当然如果你觉得麻烦也可以忽略第一种
) 那么我们来第二种方式 请往下看
那就是自行找包 链接如下:
链接: http://rpmfind.net/linux/rpm2html/
记住收藏哦
如下图
此时我们尝试搜索gcc试试 效果如下:
# 此处必须得上名词解释
第一个地址栏就不多说了吧 写你想要搜索的内容即可(这里我觉得是优先查询 会优先精准匹配你输入的内容哦 所以最好写全哦)
System
操作系统(这里是模糊查询 但得是系统内字母 如搜cen mag都是可以搜到的)
arch
表示根据当前计算机架构位数 因为linux逐步放弃32位 我们这边搜索x86_64即可
以上就是自行安装的一个流程
如果要处理依赖 得点进去看 也可以看更新内容
优点:
1、可以快速找到你所想你所要的包
缺点:
1、无法同步处理依赖问题
2、版本显示不是特别多 我如果要找很久以前版本无法体现
3、有的包是没有收录的
三、yumdownloader
那当然还有第三种方式处理 主角引入:yumdownloader
当然使用这个方式的前提是你配置好了yum源 且有外网哈
# 查看版本详情
yum list selinux-policy --showduplicates
# 下载包及依赖 保存路径/tmp/libpcap
# --reslove 下载依赖
# --destdir 保存路径
yumdownloader libpcap-devel --resolve --destdir=/tmp/libpcap
下载完成后如下图:
接下来的那就是把包传到你没有外网的服务器然后安装咯
那如果说我们想指定下载的版本呢 我不需要新版的时候应该如何处理呢 如下:
# 查看版本
yum list selinux-policy --showduplicates
# 使用包命-版本名称即可
yumdownloader selinux-policy-3.13.1-268.el7 --resolve --destdir=/tmp/linux
说的够清晰吧
优点:
1、可以连同依赖一起获取
2、可以指定版本下载
缺点:
1、需要有一台外网服务器 且配置好yum
总结
如果认真看了文章,我觉得你下次在处理依赖问题时就得心应手了吧 三种方式总有你中意的,因为我这边自己买了服务器所以一般都会用第三种方式 便捷点 当然第一二种也不是说不好用 具体要分场景比如:
第一种:适合裸机没外网要装很多东西
第二种:适合依赖较少或者安装过程中出现短暂依赖缺失我们尝试解决后能处理掉问题的
第三种:适合依赖较多且第一种无法满足的时候
当然我相信大佬还有更多方式处理此类问题,条条大路通罗马,能处理问题解决问题就是好办法。如有别的方式也可评论告知~ 共同学习进步