yum仓库


yum源配置文件

## 文件存放
 /etc/yum.conf
 
 [main]
cachedir=/var/cache/yum/$basearch/$releasever  ----- 缓存目录
keepcache=0      -----  安装后保存软件包 ,1启动 0关闭
debuglevel=2     -----   调试级别
logfile=/var/log/yum.log    ----- 日志记录位置
exactarch=1       -----检查平台是否兼容
obsoletes=1       -----检查包是否废弃
gpgcheck=1        -----检查来源是否合法,需要有制作者的公钥信息
plugins=1         ----是否启用查询
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-releas

制作本地yum仓库

# 1.安装createrepo命令
[root@localhost ~]# yum install -y createrepo
ste 
# 2.让目录编程yum仓库 createrepo
[root@localhost ~]# createrepo /repo/zabbix/
Spawning worker 0 with 475 pkgs

# 3.配置仓库文件
[root@localhost yum.repos.d]# vim giao.repo
[giao]    					        -------------  包名     
name=zls's yum repository xxxx   	  ------------- 描述
baseurl=file:///repo/zabbix/           ------------ 包位置 协议
gpgcheck=0                              ------------钥验证
enabled=1                                ------------是否开启

如何在仓库中新加rpm包

# 1.将rpm放入仓库

# 2.重新更新仓库
[root@localhost repo]# createrepo --update /repo     

# 3.用户使用仓库时,需要重新加载缓存
[root@localhost ~]# yum makecache

制作远程yum仓库------ftp

准备环境
主机 IP 角色
yum-repo 10.0.0.101 yum仓库
在一个局域网内的主机 10.0.0.102 使用101主机的yum仓库
 ## 可选协议:
 - http:// 远程协议
 - https:// 远程协议(别考虑)
 - ftp:// 远程协议
 ## 克隆新的主机修改主机名和IP
 
 # 修改主机名
 [root@web01 ~]# hostnamectl set-hostname yum_repo
 [root@web01 ~]# hostnamectl set-hostname web01
 
 # 修改IP
 
 ## 关闭防火墙
 [root@yum_repo ~]# systemctl stop firewalld
 [root@web01 ~]# systemctl stop firewalld
 
 ## 关闭selinux
 [root@web01 ~]# setenforce 0
 [root@web01 ~]# getenforce
 Permissive
# 1.安装ftp协议的软件
[root@yum_repo ~]# yum install -y vsftpd

# 2.启动vsftpd
[root@yum_repo ~]# systemctl start vsftpd
[root@yum_repo ~]# systemctl enable vsftpd

# 3.打开浏览器访问

# 4.查找ftp的目录所在
[root@yum_repo pub]# rpm -ql vsftpd|grep pub
/var/ftp/pub


# 5.pub目录就可以当做yum仓库
[root@yum_repo pub]# mount /dev/cdrom /mnt/
[root@yum_repo pub]# cp /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm
/mnt/Packages/wget-1.14-18.el7.x86_64.rpm base/

# 6.安装制作仓库的命令
[root@yum_repo ~]# yum install -y createrepo
主机 IP 角色
yum_repo 10.0.0.101 yum仓库
web01 10.0.0.102 使用yum仓库的机器

# 7.制作yum仓库
[root@yum_repo ~]# createrepo /var/ftp/pub/base/
Spawning worker 0 with 2 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete

# 8.准备repo文件
[root@yum_repo base]# vim zls_base.repo
[zls_base_repo]
name=test
baseurl=ftp://10.0.0.101/pub/base/
gpgcheck=0
enabled=1

## 其他用户想要使用该yum源,只需要下载
[root@web01 ~]# curl -o /etc/yum.repos.d/zls_base.repo
ftp://10.0.0.101/pub/base/zls_base.repo
[root@web01 ~]# vim /etc/yum.repos.d/xxx.repo
[zls_base_repo]
name=test
baseurl=ftp://10.0.0.101/pub/base/
gpgcheck=0

使用nginx创建yum仓库

# 1.安装nginx
[root@yum_repo ~]# yum install -y nginx

# 2.关闭防火墙和selinux
[root@yum_repo ~]# systemctl stop firewalld
[root@yum_repo ~]# setenforce 0

# 3.创建目录
[root@yum_repo ~]# mkdir -p /yum_repo/{base,zabbix}

# 4.将镜像中的包放入base目录
1)先挂载镜像
[root@yum_repo ~]# mount /dev/cdrom /mnt/
2)拷贝rpm包
[root@yum_repo ~]# cp /mnt/Packages/* /yum_repo/base/

# 5.将zabbix的rpm包,拷贝到zabbix目录
1)先爬rpm包

# 6.创建两个仓库
[root@yum_repo yum_repo]# createrepo /yum_repo/zabbix/
[root@yum_repo yum_repo]# createrepo /yum_repo/base/

# 7.修改nginx配置文件
[root@yum_repo ~]# cat /etc/nginx/conf.d/yum_repo.conf
server{
listen 80;
server_name _;
location /{
autoindex on;
root /yum_repo;
index index.html;
}
}
# 8.检测语法
[root@yum_repo ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
# 9.启动nginx服务
[root@yum_repo ~]# systemctl start nginx