首页 > Linux > 配置centos系统光盘为虚拟机yum源

配置centos系统光盘为虚拟机yum源

Linux一些常用的软件都会依赖一些库文件,通常我们会使用yum安装。很多时候,我们的服务器暂时无法连入互联网,这是如果有系统光盘在手,就能让系统光盘作为yum源来安装依赖。

这里以VMware虚拟机挂载CentOS6.7系统光盘为例:

blob.png

1、开机之后,登陆终端执行命令:

[root@localhost ~]# mkdir /mnt/cdrom
[root@localhost ~]# mount /dev/cdrom /mnt/cdrom
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@localhost ~]# cd /mnt/cdrom
[root@localhost cdrom]# ll
总用量 542
-r--r--r--. 2 root root     14 8月   5 2015 CentOS_BuildTag
-r--r--r--. 2 root root    212 11月 27 2013 EULA
-r--r--r--. 2 root root  18009 11月 27 2013 GPL
dr-xr-xr-x. 3 root root   2048 8月   5 2015 images
dr-xr-xr-x. 2 root root   2048 8月   5 2015 isolinux
dr-xr-xr-x. 2 root root 514048 8月   5 2015 Packages
-r--r--r--. 2 root root   1354 7月  25 2015 RELEASE-NOTES-en-US.html
dr-xr-xr-x. 2 root root   4096 8月   5 2015 repodata
-r--r--r--. 2 root root   1706 11月 27 2013 RPM-GPG-KEY-CentOS-6
-r--r--r--. 2 root root   1730 11月 27 2013 RPM-GPG-KEY-CentOS-Debug-6
-r--r--r--. 2 root root   1730 11月 27 2013 RPM-GPG-KEY-CentOS-Security-6
-r--r--r--. 2 root root   1734 11月 27 2013 RPM-GPG-KEY-CentOS-Testing-6
-r--r--r--. 1 root root   3165 8月   5 2015 TRANS.TBL

如果提示信息是

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

并且进入光盘挂载目录/mnt/cdrom能看到文件列表就说明挂载成功了。

2、配置本地yum源

[root@localhost cdrom]# cd /etc/yum.repos.d
[root@localhost yum.repos.d]# ll
总用量 24
-rw-r--r--. 1 root root 1991 8月   4 2015 CentOS-Base.repo.bak
-rw-r--r--. 1 root root  647 8月   4 2015 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  289 8月   4 2015 CentOS-fasttrack.repo
-rw-r--r--. 1 root root  628 5月  29 19:35 CentOS-Media.repo
-rw-r--r--. 1 root root 6259 8月   4 2015 CentOS-Vault.repo

会看到四个repo 文件

CentOS-Base.repo 是yum 网络源的配置文件

CentOS-Media.repo 是yum 本地源的配置文件

是用vi命令修改CentOS-Media.repo这个文件,总共修改两处:

vi /etc/yum.repos.d/CentOS-Media.repo

blob.png

在baseurl 中修改第2个路径为file:///mnt/cdrom/(即为光盘挂载点)

并且将enabled=0改为1。

ESC,:wq保存CentOS-Media.repo文件退出编辑。

最后将yum 网络源配置文件改名为CentOS-Base.repo.bak,否则会先在网络源中寻找适合的包,改名之后直接从本地源读取。

mv CentOS-Base.repo CentOS-Base.repo.bak


OK,现在你可以直接使用yum命令了。

如果想在不使用光盘中的软件包直接使用互联网上的yum源,只需要恢复CentOS-Base.repo即可。

mv /etc/yum.repos.d/CentOS-Base.repo.bak /etc/yum.repos.d/CentOS-Base.repo

刚开始,我是这么认为的,到后来发现很多不在镜像中的软件无法通过yum安装了,例如ruby。

[root@localhost ~]# mv /etc/yum.repos.d/CentOS-Base.repo.bak /etc/yum.repos.d/CentOS-Base.repo
[root@localhost ~]# yum install -y ruby
已加载插件:fastestmirror, security
设置安装进程
Loading mirror speeds from cached hostfile
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=6&arch=i386&repo=os&infra=stock error was
12: Timeout on http://mirrorlist.centos.org/?release=6&arch=i386&repo=os&infra=stock: (28, 'Operation too slow. Less than 1 bytes/sec transfered the last 30 seconds')
错误:Cannot find a valid baseurl for repo: base
[root@localhost ~]#

我在联网的状态下尝试安装ruby却被告知无法获取镜像的list,于是赶紧将/etc/yum.repos.d/CentOS-Media.repo的enable设置为0,保存后重新执行yum命令,ruby安装成功。


总结:如果想恢复网络yum功能需要具备2个条件。其一是/etc/yum.repos.d/CentOS-Media.repo的enable=0,其二是

/etc/yum.repos.d/CentOS-Base.repo配置文件存在。


有兴趣可以写个shell脚本弄个开关控制从网络还是从镜像yum安装。



本文地址:http://blog.zhengshuiguang.com/linux/centos-yum.html

转载随意,但请附上文章地址:-)

标签:yum

评论已关闭