yum源修改为本地光盘镜像

本人系统为CentOS 6.2
1.在cdrom中放入光盘,或者在虚拟机中连接光盘镜像
(具体的操作就不说了,但是这边有一点要强调,就是镜像一定要是DVD版本,不能使用liveCD版本的,之前本人就是用了liveCD版本的,怎么试都失败,一般liveCD版本的很小,只有700M左右,而DVD版本的要4G左右,关于DVD和liveCD的区别可以google,这边不多说了)
2.查看yum的源配置文件
配置文件都是在/etc/yum.repos.d目录下,有以下3个文件:
-rw-r--r--. 1 root root 1926 Dec  9  2011 CentOS-Base.repo
-rw-r--r--. 1 root root  637 Dec  9  2011 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  626 Aug 26 09:06 CentOS-Media.repo
其中CentOS-Base.repo里面都是镜像服务器的地址,应该网络yum源的地址吧。


要查看的是CentOS-Media.repo文件,主要是
baseurl=file:///media/CentOS/
        file:///media/cdrom/
        file:///media/cdrecorder/
如果指定了使用CentOS-Media源,系统就会按以上3个路径顺序查找包,现在配置第一个路径:file:///media/CentOS/


3.根据上面的配置file:///media/CentOS/创建目录
mkdir -p /media/CentOS


4.将cdrom挂载到刚才创建的目录中
mount -o loop /dev/cdrom /media/CentOS
挂载完毕后,进入/media/CentOS,应该能看到光盘的内容如下:
[root@yanPC CentOS]# ll
total 528
-r--r--r--. 2 root root     14 Jul  7 16:41 CentOS_BuildTag
-r--r--r--. 2 root root    212 Jul  2 04:21 EULA
-r--r--r--. 2 root root  18009 Jul  2 04:21 GPL
dr-xr-xr-x. 2 root root 499712 Jul  7 16:43 Packages
-r--r--r--. 2 root root   1354 Jul  2 04:21 RELEASE-NOTES-en-US.html
-r--r--r--. 2 root root   1706 Jul  2 04:21 RPM-GPG-KEY-CentOS-6
-r--r--r--. 2 root root   1730 Jul  2 04:21 RPM-GPG-KEY-CentOS-Debug-6
-r--r--r--. 2 root root   1730 Jul  2 04:21 RPM-GPG-KEY-CentOS-Security-6
-r--r--r--. 2 root root   1734 Jul  2 04:21 RPM-GPG-KEY-CentOS-Testing-6
-r--r--r--. 1 root root   3165 Jul  7 16:45 TRANS.TBL
dr-xr-xr-x. 3 root root   2048 Jul  6 03:57 images
dr-xr-xr-x. 2 root root   2048 Jul  6 03:56 isolinux
dr-xr-xr-x. 2 root root   4096 Jul  7 16:45 repodata


yum命令会解析repodata中的内容获取包的情况,因为之前用了liveCD,所以没有这个文件夹,然后网上找了解决方案,说使用createrepo命令创建了repodata,但是在yum install时什么错都没有报,直接nothing to do。。。。走了好多弯路啊。原来是光盘镜像不对。


5.最后使用如下yum命令就能安装光盘中的包了:
yum --disablerepo=\* --enablerepo=c6-media install XXX
命令的意思应该是屏蔽其他的yum源,只使用c6-media,那c6-media又是哪里来的呢,回到CentOS-Media.repo文件:
# To use this repo, put in your DVD and use it with the other repos too:
#  yum --enablerepo=c6-media [command]
#
# or for ONLY the media repo, do this:
#
#  yum --disablerepo=\* --enablerepo=c6-media [command]    >>>>>>>>>>>>>>>>这个命令其实就来自这里


[c6-media]                                                                                              >>>>>>>>>>>>>>>>c6-media是这个源的唯一标识,网上很多都是c5-media,如果直接使用就会出问题
name=CentOS-$releasever - Media
baseurl=file:///media/CentOS/
        file:///media/cdrom/
        file:///media/cdrecorder/

你可能感兴趣的:(linux管理)