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