为了统一规划和管理,一般都期望在各服务器上使用相同的软件版本来部署服务。直接使用通用的镜像源(如阿里、163的),安装的都是当前最新版的软件包,这样就会因为软件包的升级而导致安装的版本不一样。例如Docker的安装,由于docker社区非常活跃,版本更新非常的快,导致测试环境中docker的安装版本从1.6到1.10各版本都有。
为了避免上述问题,下面以在centos7上安装docker为例,来自制一个repo源。
1 获取rpm包
将/etc/yum.conf配置文件中,keepcache的值设为1后,就会将安装的rpm包保存到本地的指定目录(/var/cache/yum/x86_64/7/),我们可以使用这些下载的rpm包来做yum的软件源。
2 自制repo
自制repo需要先安装createrepo工具:
yum install createrepo
之后,进入到放有rpm包的目录,然后运行createrepo命令:
cd /tmp/install_docker_1.10.3_centos7
createrepo .
执行之后,目录下会生成一个repodata的目录,目录结构大致如下:
为了能通过url来获取yum源,可以把制作的源目录放到ftp下,然后在repo文件中指定ftp的url地址:
[install_docker_1.10.3_centos7]
name=install_docker_1.10.3_centos7
baseurl=ftp://ftp_server_ip/install_docker_1.10.3_centos7/
enabled=1
gpgcheck=0
3 设置repo优先级 自制的repo文件放到/etc/yum.repos.d/下就可以用了。但是在其他repo源共存的情况下,为了优先使用自制的repo的话,就需要设置优先级了。
设置优先级的功能需要安装yum的插件:
yum install yum-plugin-priorities
然后,repo文件中设置:
priority=N //N为从99到1的整数,数值越小优先级越高
在自制的repo文件中设置priority=1,在其它repo中设置priority的值大于1的话,安装的时候就会优先使用自制的repo源了。
[install_docker_1.10.3_centos7]
name=install_docker_1.10.3_centos7
baseurl=ftp://ftp_server_ip/install_docker_1.10.3_centos7/
enabled=1
gpgcheck=0
priority=1
(责任编辑:IT) |