软件包管理之前端管理工具yum(3)

六、如何自建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

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/14410.html