设为首页 收藏本站
查看: 1300|回复: 0

[经验分享] 如何在没有外网的情况下,通过Centos系统光盘创建yum源,结果rpm包依赖性问题

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-4-9 08:26:27 | 显示全部楼层 |阅读模式
如何在没有外网的情况下,通过Centos系统光盘创建yum源,结果rpm包依赖性问题

相信作为Linux系统管理员在安装rpm包的过程中或多或少都会遇到软件依赖性。通常我们的解决方法:
1.通过yum工具连接外网上的yum服务器来安装,自动帮忙解决软甲依赖性。
该方法能够快速解决软件依赖性问题,但是解决的前提是生产环境中有外光。如果我们的生产环境不允许连接或者不具备外网条件,基本上就没有办法解决了。
2.手动安装依赖性软件。这种方法较为原始的安装方法,只适合对软件依赖性较少的情况,如果所安装的软件所依赖的软件较多,等你把软件安装好了,估计黄花菜都凉了
3.实在没有别的办法,只能来简单粗暴的方式,重装系统,把所需要的软件在定制系统时全部安装。如果你真的用来这种方法,我只能在心里默默的鄙视你了。

如何直接上门遇到的问题呢?很简单,只需要通过更改yum相关的配置即可。工作将系统盘作为yum源即可。
Yum工作原理
yum 运行原理

yum的工作需要两部分来合作,一部分是yum服务器,还有就是client的yum工具。下面分别介绍两部分工作原理。

  • yum服务器

所有要发行的rpm包都放在yum服务器上以提供别人来下载,rpm包根据kernel的版本号,cpu的版本号分别编译发布。yum服务器只要提供简单的下载就可以了,ftp或者httpd的形式都可以。yum服务器有一个最重要的环节就是整理出每个rpm包的基本信息,包括rpm包对应的版本号,conf文件,binary信息,以及很关键的依赖信息。在yum服务器上提供了createrepo工具,用于把rpm包的基本概要信息做成一张"清单",这张"清单""就是描述每个rpm包的spec文件中信息。

  • yum     client

client每次调用yum install或者search的时候,都会去解析/etc/yum.repos.dm目录下面所有以.repo结尾的配置文件,这些配置文件指定了yum服务器的地址。yum会定期去"更新"yum服务器上的rpm包"清单",然后把"清单"下载保存到yum自己的cache里面,根据/etc/yum.conf里配置(默认是在/var/cache/yum下面),每次调用yum装包的时候都会去这个cache目录下去找"清单",根据"清单"里的rpm包描述从而来确定安装包的名字,版本号,所需要的依赖包等,然后再去yum服务器下载rpm包安装。(前提是不存在rpm包的cache)

注:有兴趣的朋友可以更深入的了解一下搭建yum服务器

通过yum工作原理可以知道,客户端通过制定的yum服务器来访问和下载依赖性软件。那么我们能不能指定本地的yum源为本地地址,通过调用本地的资源来解决软件依赖性呢?答案是可以。

解决思路:

Centos系统盘里面自带所有预安装软件,让yum调用系统盘中的软件包资源,来替代远端服务器的功能。

Yum通过调用yum配置文件中的服务器地址下载人rpm依赖性包,我们可以将挂载系统盘,通过yum配置文件将服务器地址更改指向挂载的系统盘目录。当然如果有条件的话可以自己搭建一个内部yum服务器,可以解决多台服务器的rpm软件依赖性问题,可以节省很多时间。

配置方法:

1.  将/etc/yum.repos.d 目录下问的文件备份,依然移除除了Centos-Media.repo的其他文件。Yum的服务器配置相当文档放置在如下图中。虽然可以通过其它文档,让yum访问本地目录,但是通过实际的操作发现。尽管做了配置,但是更新时依旧会报错,所以建议大家最好现在备份,然后移除不需要配置的文档来操作。

QQ截图20150409082556.png

2.配置Centos-Media.repo。默认的配置文档如下,我们需要参数“enable=0”更改问“enable=1”,启用该文档。

QQ截图20150409082617.png


3.挂载系统盘到配置的目录下,我们知道上图的配置文档的目录有/media/Centos,我们可以将系统光盘挂载到该目录下即可。具体怎么挂载,这里就不做详细的介绍。

4.经过以上步骤的配置,即可安装软件,但是需要注意的是,我们需要通过安装光盘中的软件来操作,不然系统提示找不到。毕竟我们只是制定了相关的资源路径,并不是搭建一个yum服务器。




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-55212-1-1.html 上篇帖子: LINUX 中实现触发挂载 下篇帖子: Centos6.5 部署SVN 依赖性 光盘 如何
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表