yum源工作原理:实质是更换下载地址
******** yum仓库服务端搭建 ********
系统环境
服务端:10.0.0.61
[[email protected] ~]# cat /etc/redhat-release
CentOS release 6.8 (Final)
[[email protected] ~]# 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仓库的源路径
第二个目录:索引存放的路径
------------------------------------------------------------------------
[[email protected] 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配置文件:
[[email protected] 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