您的位置:首页 > 运维架构 > Linux

centos 的yum仓库搭建

2015-11-14 21:45 555 查看
一、yum仓库说明
1、搭建yum仓库必要性内网环境下,为了实现自动化和自定义的人性化便捷快速的增加部署服务,搭建yum仓库是首选,可以公司网环境下搭建yum源,供公司内部员工使用,并且能够通过定制rpm包,完成一件安装。
2、yum仓库简介
yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
二、yum仓库搭建安装实战
1、安装环境:

[1 root@mouse ~]# uname -r
2.6.32-504.el6.x86_64
[2 root@mouse ~]# uname -m
x86_64
[3 root@mouse ~]# cat /etc/redhat-release
CentOS release 6.6 (Final)3、yum仓库及http站点准备
注:这里需要一个http环境,能够访问文件。我们可以使用轻便的python模块提供,在站点目录下执行:

python -m
SimpleHTTPServer
80
&
依赖包,我们可以调整/etc/yum.conf文件,将keepcache的值改为1,然后就可以保留yum的包缓存;如果是没有子依赖的依赖包,我们可以通过yumdownloader下载相关依赖包,yumdownloader在yum-utils的工具集中。
2、此处以之前的fpm打包环境为例,链接如下 http://bbs.51cto.com/thread-1167544-1.html 3、安装createrepo并创建repo
#安装createrepo

yum install createrepo -y
#创建仓库repo信息

[root@www~]# createrepo -pdo /data0/repo/ /data0/repo/
Spawning worker
0
with
4
pkgs
Workers Finished
Gathering worker results
Saving Primary metadata
Saving file
lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
#如果之后有rpm包新增或者删除,需要更新repo文件

createrepo --update /data0/repo/
#查看仓库下的文件

[root@www~]# tree /data0/repo/
/data0/repo/|--nginx_erma-1.6.0-1.x86_64.rpm|--openssl-1.0.1e-42.el6.x86_64.rpm|--openssl-devel-1.0.1e-42.el6.x86_64.rpm|--pcre-devel-7.8-7.el6.x86_64.rpm--repodata   |--0c407e9494d459d4496e7d24c2e6a93bbb9bb60e009dcc97aa1efef9010bf64a-filelists.xml.gz   |--43a3cc03f7fc3e69e32c7d6a2795229596a32469d0924bab815e3f50cb5b0be6-other.sqlite.bz2   |--510ce97c74a7119f8850016b7e6a5be19fc2bd716fa084e46aeb585686223f80-filelists.sqlite.bz2   |--60f80504e1a080df7b05200f1c6ffb56a4563c51f9038deb733eaf5279c569d0-primary.xml.gz   |--84c87598ed82a081e86dfc93d5e76379ce75bc04729e5f3395f6d62e6950b3fa-primary.sqlite.bz2   |--eaff97435829909a39f0abb8446167947e90f23dafec2132e338fbb25db996ec-other.xml.gz   --repomd.xml1directory,11files
4、在另外一台机器上配置yum源
添加配置yum源文件:

root@web01 application]# cat /etc/yum.repos.d/erma.repo
[maker]
name=ErmaRepo
baseurl=http://repo.trnux.com/
enable=1
gpgcheck=0
我们可以通过repo文件的enable的值来控制配置文件是否生效;但是此方法麻烦,如果私有yum仓库中的包和base包冲突,会有问题;想要访问公网yum源,还需要修改配置文件,重建缓存等操作;我们可以用另一种方法,就是使用yum时指定启用的源和关闭的源:

yum --enablerepo=maker --disablerepo=base,extras,updates,epel list

安装时可以也是如此:

yum --enablerepo=maker --disablerepo=base,extras,updates,epel install nginx_erma.x86_64

#使用时,我们最好将私有的源改为enable=0,其他的源改为1,这样直接yum就不会出现问题。

本文出自 “思想决定高度” 博客,请务必保留此出处http://chuck.blog.51cto.com/10232880/1712797
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: