一、yum仓库
1.centos7.3系统如下(其他镜像同理):
2.使用vmware安装完成后,修改网卡为静态(自行根据网段修改)
3.添加dns服务器地址
[root@localhost ~]# cat /etc/resolv.conf
nameserver 114.114.114.114
nameserver 8.8.8.8
[root@localhost ~]#
4.安装createrepo与yum-utils(有关于同步软件reposync)
yum -y install createrepo yum-utils
5.更改主机名(可选)
hostnamectl set-hostname local-yum-repo-server
6.创建一个放离线软件包的目录
mkdir /local-yum-repo
7.安装vsftpd(提供ftp服务供其他主机访问自己的yum仓库)
yum -y install vsftpd
修改vsftpd的配置文件(添加框起来这一行,增加匿名用户root目录)
启动vsftp
[root@local-yum-repo-server ~]# systemctl start vsftpd
[root@local-yum-repo-server ~]# systemctl enable vsftpd
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
[root@local-yum-repo-server ~]#
9.安装wget(若有此软件请忽略此步)
yum install wget -y
8.备份现有yum源文件(现在还有缓存,清空不影响运行)
cd /etc/yum.repos.d/
mkdir ./repoback
mv ./*.repo ./repoback
9下载阿里云的yum源,epel源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum clean all
yum makecache
10.查看是否更新yum源
[root@local-yum-repo-server yum.repos.d]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
repo id repo name status
base/7/x86_64 CentOS-7 - Base - mirrors.aliyun.com 10,072
epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 13,761
extras/7/x86_64 CentOS-7 - Extras - mirrors.aliyun.com 515
updates/7/x86_64 CentOS-7 - Updates - mirrors.aliyun.com 5,053
repolist: 29,401
[root@local-yum-repo-server yum.repos.d]#
11.使用reposync同步软件(这里只指定目录,不指定仓库就默认全部)
用法:
reposync -r 仓库名(一般为base) -p 目标目录
reposync -p /local-yum-repo
12.建立关系库
createrepo -pdo /local-yum-repo/ /local-yum-repo/
13.关闭仓库的selinux与防火墙
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
14.定时同步脚本
[root@kkk ~]# vi /opt/repository.sh
#!/bin/bash
reposync -p /local-yum-repo/ -d
reposync -p /local-yum-repo/
createrepo -pdo /local-yum-repo/ /local-yum-repo/
[root@kkk ~]# crontab -e # 添加定时任务
添加:
0 0 1 * * sh /opt/repository.sh # 每月1日0时更新yum仓库
二、客户端侧
1.修改repo文件,只保留这一个
注意ftp路径,在之前就已经定义了ftp的家目录是/local-yum-repo
[root@ansible-slave1 yum.repos.d]# ls
bak CentOS-Base.repo
[root@ansible-slave1 yum.repos.d]# cat CentOS-Base.repo
[c7-media]
name=CentOS-$releasever - Media
baseurl=ftp://192.168.174.141
gpgcheck=0
enabled=1
#gpgkey=file://192.168.174.141/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-
[root@ansible-slave1 yum.repos.d]#
2.测试ftp有没有起来
[root@ansible-slave1 yum.repos.d]# curl ftp://192.168.174.141
drwxr-xr-x 3 1000 1000 22 Jun 29 08:44 base
drwxr-xr-x 3 1000 1000 22 Jun 29 09:43 epel
drwxr-xr-x 3 1000 1000 22 Jun 29 11:00 extras
drwxr-xr-x 2 1000 1000 4096 Jun 29 14:21 repodata
drwxr-xr-x 3 1000 1000 22 Jun 29 11:03 updates
[root@ansible-slave1 yum.repos.d]#
3.重新建立缓存
[root@ansible-slave1 yum.repos.d]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: c7-media
Cleaning up everything
Cleaning up list of fastest mirrors
[root@ansible-slave1 yum.repos.d]# yum makecache
Loaded plugins: fastestmirror
c7-media | 2.9 kB 00:00:00
(1/3): c7-media/filelists_db | 31 MB 00:00:00
(2/3): c7-media/primary_db | 34 MB 00:00:00
(3/3): c7-media/other_db | 7.3 MB 00:00:00
Determining fastest mirrors
Metadata Cache Created
[root@ansible-slave1 yum.repos.d]#
4.测试离线环境安装ansible(能正常拉取软件)
5.添加定时任务
[root@local-yum-repo-server ~]# cat /opt/repository.sh
#!/bin/bash
reposync -p /local-yum-repo/ -d
reposync -p /local-yum-repo/
createrepo -pdo /local-yum-repo/ /local-yum-repo/
[root@local-yum-repo-server ~]#
crontab -e # 添加定时任务
添加:
0 0 1 * * sh /opt/repository.sh # 每月1日0时更新yum仓库