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

[经验分享] [转] CentOS用安装光盘创建本地 yum 源补装 RPM 软件包

[复制链接]

尚未签到

发表于 2016-5-12 10:07:24 | 显示全部楼层 |阅读模式
  CentOS或者RHEL 系统环境下,RPM 的依赖性是个很让人头疼的问题。每次系统安装完成过后,想再装一个软件包,敲下回车之前,都会心惊胆战,生怕跳出个依赖性错误。而在一个依赖性错误的背后,可能还牵连着更多的依赖性。这个问题让很多 Linux 用户望而生畏。
  RPM 包的依赖关系说起来是简单的因为它所谓的依赖关系仅仅是一个个简单的如“要安装 A,需要提前准备好 a1, a2, a3”这样的条件。
  例如,当我们安装gcc时。找到安装光盘,小心翼翼地挂载上,并找到了gcc-4.1.2-50.el5.i386.rpm 尝试着用
  rpm -ivh gcc-4.1.2-50.el5.i386.rpm
  进行安装。系统告之缺少 glibc-devel 和 libgomp,当你试着安装 glibc-devel,系统又提示缺少 glibc-headers。继续下去,又发现缺少 kernel-headers。很苦恼,心想如果当初选择了完全安装该有多好!同时也抱怨怎么Linux就这么难用的啊,要是像Windows下面一直next多好啊!最终,按照依赖提示,递归似的完成了 gcc 的安装。很庆幸的完成了这个任务。其实只是因为这个安装任务的依赖关系还不够复杂到把我们吓退罢了。
  那我强烈推荐使用yum!
  yum 对 RPM 包的处理是一个典型的“空间换时间”过程。通过对源中所有 RPM 包的预处理,生成所有安装包关于包含文件,依赖,冲突等信息的索引,并且以 sqlite 格式存放在 /var/cache/yum 对应目录下面。
  
  用DVD建立本地yum源
   
  既然 yum 已经很好的解决了 RPM 包的依赖问题,要解决的就是速度问题。本地光驱的访问速度甚至快过 100M 局域网,而且在最近一些发行版安装盘中,已经预置好 repo 信息,并存放在名为 repodata 的目录中。可以说安装盘本身就是一个现成的 yum 源。在 CentOS5 中,预置了多个 repo,放在了/etc/yum.repos.d目录中;
DSC0000.gif
  
  首先,把光盘放入光驱,挂载光盘。
  # mount /dev/hdc /media/cdrom
  mount: block device /dev/hdc is write-protected, mounting read-only
DSC0001.gif
  CentOS 5.6中可以自动挂载,所以可以不需要建cdrom文件夹来挂载DVD,可以直接使用CentOS_5.6_Final
  
  如果在本地有安装盘镜像,也通过 loop 方式挂载到相应目录。
  # mount -o loop CentOS-5.6-i386-bin-DVD.iso /media/cdrom
  
  然后,编辑 yum 源配置文件,添加一个本地 yum 源。这里是一张 CentOS 5.6的 DVD 安装盘,它的 repo 对应是dvd.repo
DSC0002.gif
  如果是RHEL Server,则对应的baseurl是
  baseurl=file:///media/cdrom/Server
  
  
  或者直接在/etc/yum.repos.d目录中新建 dvd.repo
  然后使用vi打开,写入如下类容:
  [dvd]
  name=install CentOS DVD
  baseurl=file:///media/cdrom
  enable=1
  gpgcheck=0
  
  完成本地源配置过后,接下来就可以用 yum 进行 RPM 包的补装了。首先,查看刚刚配置好的 yum 源。
  yum list
  
  
  然后,通过熟知的 yum install 来补装软件包。从输出信息可以看到,yum 会帮我们处理好 RPM 包的依赖关系。同时由于包都在本地,下载的时间几乎可以忽略。
  
  From: http://blog.csdn.net/tsangchoonhsia/article/details/6414780

运维网声明 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.yunweiku.com/thread-215958-1-1.html 上篇帖子: 在centos 5.3上安装nginx0.7.67+mysql5.1.49+php5.2.14 下篇帖子: 解决 CentOS 5.6 找不到 LVM 的 ext2online 命令
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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