yum源工作原理:实质是更换下载地址


  ********  yum仓库服务端搭建  ********


系统环境

服务端:10.0.0.61

[root@m01 ~]# cat /etc/redhat-release 

CentOS release 6.8 (Final)

[root@m01 ~]# uname -r

2.6.32-642.el6.x86_64


1、安装createrepo软件:

yum -y install createrepo


2、创建yum仓库目录

mkdir -p /application/yum/centos6/x86_64/

# ===> 模仿公网下面的yum目录结构

cd /application/yum/centos6/x86_64/

rz   # ===> 上传rpm包到此目录,此目录下面还可以包括文件夹

  #获取rpm软件包的几种方法:

  a、自己制作的rpm包

  b、yumdownloader pcre-devel openssl-devel #只下载不安装

  c、平时yum安装软件时不删除安装包

      #cat /etc/yum.conf

      keepcache=1

      #安装包目录:/var/cache/yum/x86_64/


3、初始化repodata索引文件

 ** 初始化  ===> 给rpm包做个目录,索引,第一次更新

createrepo -pdo /application/yum/centos6/x86_64/ /application/yum/centos6/x86_64/

  第一个目录:yum仓库的源路径

  第二个目录:索引存放的路径

------------------------------------------------------------------------

[root@m01 x86_64]# createrepo -pdo /application/yum/centos6/x86_64/ /application/yum/centos6/x86_64/

Spawning worker 0 with 2 pkgs

Workers Finished

Gathering worker results

------------------------------------------------------------------------

 ** 每加入一个rpm包就要更新一下,初始化之后更新执行以下命令:

createrepo --update /application/yum/centos6/x86_64/ 


4、提供yum服务

# 可以用Apache或Nginx提供web服务,但用Python的http模块更简单,适用于内网环境

注意:先把Nginx关闭,防止80端口冲突!

启动命令:

cd /application/yum/centos6/x86_64/ &&\

python -m SimpleHTTPServer 80 &>/dev/null &

 # 可以通过浏览器输入本机IP查看 10.0.0.61

成功:有“repodata”目录,里面是rpm包的索引


@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

   =============  nginx配合yum仓库  =============

## 修改nginx.conf配置文件:

[root@m01 conf]# cat nginx.conf

worker_processes  1;

events {

    worker_connections  1024;

}

http {

    include       mime.types;

    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;


    server {

        listen       80;

        server_name  yum.etiantian.org;

        location / {

            root   /application/yum/centos6/x86_64;

            autoindex on;

            index  index.html index.htm;

        }

    }

}

/application/nginx/sbin/nginx -t

/application/nginx/sbin/nginx -s reload


@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@


  ********  yum仓库客户端使用  ********


1、客户端配置

cd /etc/yum.repos.d/        # ====> yum配置文件的目录

mkdir yum_bak             # ====> 创建新目录,用来存放原来的源

mv *repo yum_bak           # ====> 移除原来的源


cat >>yum.repo<<EOF         # ===> 新建文件

[yum]                  # ===> yum源名称

name=Server              # ===> name随便

baseurl=http://10.0.0.61     # ===> yum源服务器IP地址

enable=1                # ===> 激活yum源;0是不使用

gpgcheck=0               # ===> 校验机制;内网的就不需要(不去除,要给rpm包加密)

EOF


yum clean all             # ===> 清空本机已有yum缓存

yum list                # ===> 列表显示yum仓库


2、客户端测试

yum -y install name