作者:独笔孤行@TaoCloud

在无网络情况下,CentOS操作系统安装软件包,解决依赖包成为难题。而且由于部分yum源只能访问国外网站,安装过程经常遇到由于网速导致的超时报错。为解决以上两个问题,本文简单讲解如何创建自己的yum源。
一、下载rpm软件包
方法1:
用yum指令将所需rpm包只下载不安装。

yum install ovirt-hosted-engine-setup –downloadonly –downloaddir=/mnt/ovirt4.1repo

方法2:
编辑yum配置文件:/etc/yum.conf。将keepcache=0 设置为1.

[root@controller ~]# cat /etc/yum.conf 
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=1
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release

更改后会将rpm包保存到本地指定目录(cachedir=/var/cache/yum/$basearch/$releasever)。
方法3:
用wget指令下载所需rpm包到指定路径。(适合将整个网络源变为本地源)

    wget -c -r -nd -A rpm http://cloudstack.apt-get.eu/rhel/4.2/ -P /var/www/html/4.2

本次实验建议使用方法1来下载所需软件包,yum会自动搜索与指定软件安装所需要的依赖包。其他场景根据需求具体确定。

二、createrepo创建本地源

createrepo  /mnt/ovirt4.1repo  

注解
该路径为下载rpm包的路径

命令执行完成后会生成repodata目录,并生成相应的repomd.xml文件

三、创建ovirt本地yum源
在/etc/yum.repo.s.d/目录下创建ovirt.repo源。

[root@controller ~]# cat /etc/yum.repos.d/ovirt.repo
[ovirt]
name=ovirt
baseurl=file:///mnt/ovirt4.1
enabled=1
gpgcheck=0

baseurl为指定的rpm包路径,即创建的源路径。

注解
可在/etc/yum.repos.d/ovirt.repo中添加prioirty=N指定ovirt.repo源优先级。
priority=N //N为从99到1的整数,数值越小优先级越高
并在其他源中添加priority来调整所有yum源的优先级。

四、本地源验证
可将其他所有yum源进行备份后删除,/etc/yum.repos.d/目录下只保留创建的ovirt.repo源。
查看ovirt能否正常安装。执行安装命令:

yum install ovirt-hosted-engine-setup –y  

注解
如果遇到:Warning: RPMDB altered outside of yum. 卡在这里长时间不动。
解决办法:删除yum历史记录。 rm -rf /var/lib/yum/history/*.sqlite

欢迎扫描关注本人公众号,会定时分享IT技术文章,如有其它技术问题,可随时咨询。
创建本地ovirt源_第1张图片