Chinaunix首页 | 论坛 | 博客
  • 博客访问: 242033
  • 博文数量: 21
  • 博客积分: 796
  • 博客等级: 军士长
  • 技术积分: 305
  • 用 户 组: 普通用户
  • 注册时间: 2011-07-16 01:03
文章分类
文章存档

2020年(1)

2017年(1)

2016年(1)

2015年(2)

2012年(9)

2011年(7)

我的朋友

分类: LINUX

2011-10-26 01:05:12

RPM包的依赖性一直是令人头痛问题。如果直接用rpm命令安装一个包,可能需要递归安装许多该包依赖的其他包。这个过程需要手工完成,工作量无疑是相当大的。用yum命令可以自动分析包之间的依赖关系,整个安装过程也是自动完成的,但是默认情况下yum会从各镜像网站上下载软件包然后再安装。事实上,Center OS的DVD光盘镜像文件中已经包含了多数常用的软件包,所以如果能够利用yum命令自动分析光盘镜像中的软件包之间的依赖关系,进而安装这些软件包,无疑能够节省很多网络带宽和安装软件的时间。
 
最近从网上下载了CentOS-6.0-i386-minimal.iso镜像文件,并且在vmware中安装了一个命令行界面的Center OS 6.0基本系统。但是,系统装好后发现基本的编译系统(gcc, make, gdb等)并没有安装,所以又下载了完整的光盘镜像文件CentOS-6.0-i386-bin-DVD.iso。启动系统并挂载光盘镜像后,就需要解决这些软件包的安装问题。受到《利用安装光盘创建本地 yum 源补装 RPM 软件包》一文的启发,顺利地从光盘镜像中对这些软件包做了本地安装。
 
yum在默认情况下会将镜像网站作为软件包的安装源,如果能够将安装源重定向到本地文件系统(硬盘、光盘等),那么本地安装就能够进行。沿着这个思路,以gcc的安装过程为例,说明本地安装的过程。
 
1. 将安装源定位到本地文件系统。
 
  1. [root@xparmenides ~]# cd /etc/yum.repos.d/

  2. [root@xparmenides yum.repos.d]# ls

  3. CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo
yum的安装源都在/etc/yum.repos.d/目录中的各配置文件中定义的。其中有一个CentOS-Media.repo文件,用来定义本地安装源。
 
  1. [root@xparmenides yum.repos.d]# cat CentOS-Media.repo

  2. # CentOS-Media.repo

  3. #

  4. # This repo is used to mount the default locations for a CDROM / DVD on

  5. # CentOS-6. You can use this repo and yum to install items directly off the

  6. # DVD ISO that we release.

  7. #

  8. # To use this repo, put in your DVD and use it with the other repos too:

  9. # yum --enablerepo=c6-media [command]

  10. #

  11. # or for ONLY the media repo, do this:

  12. #

  13. # yum --disablerepo=\* --enablerepo=c6-media [command]



  14. [c6-media]

  15. name=CentOS-$releasever - Media

  16. baseurl=file:///media/CentOS/

  17. file:///media/cdrom/

  18. file:///media/cdrecorder/

  19. gpgcheck=1

  20. enabled=0

  21. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

该文件定义了一个称为c6-media的安装源,这个安装源来自/media/cdrom和/media/cdrecorder。所以下一步就要将光盘镜像文件挂载到这两个目录之一。

 

2. 挂载DVD光盘

首先,在vmware中将光盘镜像设置为虚拟CDROM。然后,执行下面命令进行挂载并进入软件包所在目录。

  1. [root@xparmenides yum.repos.d]# mount -t iso9660 /dev/cdrom /media/cdrom

  2. mount: block device /dev/sr0 is write-protected, mounting read-only

  3. [root@xparmenides yum.repos.d]# cd /media/cdrom/Packages/

其中,/media/cdrom/Packages目录中存放了所有的rpm软件包。下面就要安装其中的gcc-4.4.4-13.el6.i686.rpm。

 

3.安装gcc软件包

通过/etc/yum.repos.d/CentOS-Media.repo不难看出,这个本地安装源默认情况下是禁用的。但是,文件开头的注释中却详细说明了如何打开这个安装源,同时禁用镜像网站上的安装源(最好把镜像网站禁用,因为光盘中的软件包应该是自足的,没有必要浪费网络带宽)。所以,执行下面命令就可以正确安装gcc了。

  1. yum --disablerepo=\* --enablerepo=c6-media install gcc

其他的原件包可以类似安装。对于其他RHEL和Fedroa我想情况应该也是类似的。

 

阅读(5519) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~