手机版
你好,游客 登录 注册
背景:
阅读新闻

软件包管理之前端管理工具yum

[日期:2017-02-06] 来源:Linux社区  作者:yolynn [字体: ]

六、如何自建yum仓库

6.1、引言:

虽然系统自带的仓库已经很常用,只要连接到互联网我们就能很容易有获取到互联网的yum仓库。但是如果是在企业内网,企业内部不允许访问互联网,又或者如果企业服务器众多,如果都要从互联网去获取yum仓库,那将很占用带宽。基于这种情况,我们就需要自己在企业内部创建yum仓库。

6.2、自建仓库需要使用的命令介绍

createrepo(create repo):创建仓库,在自建仓库时,使用命令createrepo会自动帮我们生成repodata文件作为软件的仓库,而其目录下有四个必要文件:filelists.xml.gz,other.xml.gz,primary.xml.gz和repomd.xml,其中最重要的是repomd.xml文件。一般出现的找不到repodata目录或文件的错误的原因通常有三个:一是路径问题;二是没有生成repodata目录;三是*.repo配置文件冲突(这个需要特意注意)。

小贴士:createrepo命令默认是没有安装,所以我们需要提前安装,createrepo的安装包为“createrepo-0.9.9-17.el6.noarch.rpm”,可以使用RPM或yum先将此程序包安装。

安装方法:

#yum -y install createrepo 或 rpm -ivh createrepo-0.9.9-17.el6.noarch.rpm (路径一定要写对)

6.3、自建yum仓库有2种方法

  • 1)、基于关盘镜像创建yum仓库

  • 2)、根据服务自建提供yum仓库的服务器(ftp、http、nfs)

6.4、基于关盘镜像创建yum仓库

6.4.1、先将光盘挂载至/mnt目录下

      mount /dev/cdrom /mnt

6.4.2、配置yum仓库文件

[root@www yum.repos.d]# vim /etc/yum.repos.d/local-media.repo  #如果local-media.repo不存在,请直接创建
[Meida-repo]
name=This is Local media repo
baseurl=           #指向光盘镜像路径
enabled=1                     #是否启动该仓库
gpgcheck=0                    #是否检查包完整性
[root@www yum.repos.d]# yum clean all   #清除所有的包缓存和元数据
[root@www yum.repos.d]# yum list        #列出所有的仓库和程序包

 

6.5、根据服务自建提供yum仓库的服务器(这里以http服务为例)

6.5.1、首先安装http服务

     yum -y install httpd 或 rpm -ivh httpd

6.5.2、关闭Linux防火墙和Selinux

#防火墙和Selinux可能会影响用户访问HTTP,所以这里需要将其禁用

[root@www yum.repos.d]# service iptables stop    #关闭防火墙服务
[root@localhost ~]# chkconfig iptables off       #关闭防火墙自动启动
[root@www yum.repos.d]# getenforce               #查看Selinux状态 Enforcing表示启用 Permissive表示不启用
Enforcing
[root@www yum.repos.d]# setenforce 0             #关闭Selinux  0表示关闭 1表示开启
[root@www yum.repos.d]# getenforce               
Permissive                                
[root@localhost ~]# vim /etc/selinux/config     #关闭Selinux开机启动,编辑confg文件,将其中SELINUX字段改为如下设置    
        SELINUX=disabled

6.5.3、启动httpd服务和开机自动服务

[root@www yum.repos.d]# service httpd start   #开启httpd服务
[root@www yum.repos.d]# chkconfig on          #设置httpd服务开机自动启动
[root@localhost ~]# netstat -tunlp | grep http  #查看http服务是否已启用
tcp        0      0 :::80                       :::*                        LISTEN      1532/httpd

6.5.4、编辑httpd的文档目录

#httpd默认的目录文档路径为/var/www/html

[root@localhost html]# mkdir /var/www/html/rpm-repo   #创建仓库路径

[root@localhost rpm-repo]# cp -a /mnt/Packages/xcb* /var/www/html/rpm-repo/   #拷贝RPM程序包为测试使用

6.5.5、使用createrepo配置yum仓库

[root@localhost rpm-repo]# createrepo /var/www/html/rpm-repo/

9156441b79578072.png

6.5.6、验证和查看http仓库的文件

1a93af4e131f307b.png

6.5.7、配置和验证yum仓库

[root@localhost yum.repos.d]# vim /etc/yum.repos.d/local.repo  #编辑yum仓库文件,让仓库路径指向http的yum仓库
[http-repo]
name=http yum repo
baseurl=http://192.168.80.150/rpm-repo
enabled=1
gpgcheck=0
[root@localhost ~]# yum list

d9bc81bcba1d487d.png

本文永久更新链接地址http://www.linuxidc.com/Linux/2017-02/140270.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款