使用Nginx搭建内网本地yum源与阿里云源定时同步更新

此次搭建Centos7yum源演示

一、搭建简单官方镜像yum源
1、下载Centos7完整镜像,此次使用的镜像:CentOS-7-x86_64-DVD-2009.iso 大小为4.38GB,解压该镜像,并重命名为Centos7。

2、创建一个网站,并修改该网站的配置文件,在server配置文件中插入以下配置参数

        location / {
      autoindex on; #列出整个目录
      autoindex_exact_size off; #默认为on,显示出文件的确切大小,单位是bytes。
改为off后,显示出文件的大概大小,单位是kB或者MB或者GB
      autoindex_localtime on; #默认为off,显示的文件时间为GMT时间。
改为on后,显示的文件时间为文件的服务器时间
}

注意:如果列出的文件名中有中文一定要加上:charset utf-8; 否则中文会显示乱码

3、将解压好的文件夹上传至网站根目录,即可web访问文件

4、创建local.repo文件添加以下参数

vim /etc/yum.repos.d/local.repo

[local]
name=local
#在虚拟机网络环境中,服务端地址是这个
baseurl=http://内网IP或域名/Centos7
#是否可用,1表示可用,0表示不可用
enabled=1
gpgcheck=1
gpgkey=http://内网IP或域名/Centos7/RPM-GPG-KEY-CentOS-7

禁用或删除其他repo,进行测试
编辑其他repo文件,将enabled设置为0即可禁用
yum相关命令:

yum clean all #清理无用源
yum repolist #查看列表中是否存在
rpm --rebuilddb #表示重建rpm数据库
rpm --initdb #是初始化rpm数据库的意思。
yum check-update #列出所有可更新的软件清单命令
yum update #更新所有软件命令
yum install <package_name> #仅安装指定的软件命令
yum update <package_name> #仅更新指定的软件命令
yum list #列出所有可安裝的软件清单命令
yum remove <package_name> #删除软件包命令
yum search <keyword> #查找软件包命令
yum makecache #更新新的元数据缓存
yum clean packages #清除缓存目录下的软件包
yum clean headers #清除缓存目录下的 headers
yum clean oldheaders #清除缓存目录下旧的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的 headers

yum clean all #清理无用源
yum repolist #查看列表中是否存在

yum install xpp3 #实际安装一个软件试试看,比如xpp3

二、搭建与阿里云yum源定时同步的本地yum源

1、创建一个网站,并修改该网站的配置文件,在server配置文件中插入以下配置参数

        location / {
      autoindex on; #列出整个目录
      autoindex_exact_size off; #默认为on,显示出文件的确切大小,单位是bytes。
改为off后,显示出文件的大概大小,单位是kB或者MB或者GB
      autoindex_localtime on; #默认为off,显示的文件时间为GMT时间。
改为on后,显示的文件时间为文件的服务器时间
}

注意:如果列出的文件名中有中文一定要加上:charset utf-8; 否则中文会显示乱码

2、新建创建rpm包的存放目录,下载阿里镜像的repo安装包,centos6就下载6的,7的就下载7的地址:https://mirrors.aliyun.com/repo/

还有下载一个epel源:地址可以百度
我们以centos7的镜像为例:

mkdir -p /www/wwwroot/内网IP或域名/centos/7/ #创建源rpm包的存放目录

cd /etc/yum.repos.d/
mkdir bak
mv Centos* bak #将系统自带的源备份到bak目录下
wget https://mirrors.aliyun.com/repo/Centos-7.repo
#还有下载一个epel源:地址可以百度
yum clean all #清理无用源
yum repolist #查看阿里的可用仓库,有需要的源标识表示已经成功了
yum makecache #更新新的元数据缓存

3、从阿里服务器将rpm同步到本地需要两个rpm软件createrepo 和 yum-utils #yum-utils包含reposync

yum install createrepo yum-utils -y #yum安装这两个包

4、使用reposync将已经配置好的阿里仓库镜像内的rpm包拉到本地,x86_64为本地已经配置好的仓库名,可以用yum repolist查看到有三个源标识(按需求拉取)

reposync -r base -p /www/wwwroot/内网IP或域名/centos/7/ #将base源同步至指定目录,此处需要大量等待时间
reposync -r extras -p /www/wwwroot/内网IP或域名/centos/7/ #将extras源同步至指定目录,此处需要大量等待时间
reposync -r updates -p /www/wwwroot/内网IP或域名/centos/7/ #将updates源同步至指定目录,此处需要大量等待时间
reposync -r epel -p /www/wwwroot/内网IP或域名/centos/7/ #将epel源同步至指定目录,此处需要大量等待时间
reposync -r epel-debuginfo -p /www/wwwroot/内网IP或域名/centos/7/  #将epel-debuginfo源同步至指定目录,此处需要大量等待时间
reposync -r epel-source -p /www/wwwroot/内网IP或域名/centos/7/  #将epel-source源同步至指定目录,此处需要大量等待时间

cd /www/wwwroot/内网IP或域名/centos/7/
createrepo -pdo  /www/wwwroot/内网IP或域名/centos/7/ #创建源repo依赖关系
createrepo --update www/wwwroot/内网IP或域名/centos/7/ #更新源依赖关系

同步完成之后,本地的yum仓库已经基本完成了,只剩下定时更新了

mkdir  /cron
vim /cron/repository.sh #编写同步脚本
reposync -r base -p /www/wwwroot/内网IP或域名/centos/7/os/x86_64/ -d #来删除本地老旧
reposync -r base -p /www/wwwroot/内网IP或域名/centos/7/os/x86_64/ #同步新的
reposync -r extras -p /www/wwwroot/内网IP或域名/centos/7/os/x86_64/ -d #来删除本地老旧
reposync -r extras -p /www/wwwroot/内网IP或域名/centos/7/os/x86_64/ #同步新的
reposync -r updates -p /www/wwwroot/内网IP或域名/centos/7/os/x86_64/ -d #来删除本地老旧
reposync -r updates -p /www/wwwroot/内网IP或域名/centos/7/os/x86_64/ #同步新的
reposync -r epel -p /www/wwwroot/内网IP或域名/centos/7/  -d #来删除本地老旧
reposync -r epel -p /www/wwwroot/内网IP或域名/centos/7/   #同步新的
reposync -r epel-debuginfo -p /www/wwwroot/内网IP或域名/centos/7/  -d #来删除本地老旧
reposync -r epel-debuginfo -p /www/wwwroot/内网IP或域名/centos/7/   #同步新的
reposync -r epel-sourcel -p /www/wwwroot/内网IP或域名/centos/7/  -d #来删除本地老旧
reposync -r epel-source -p /www/wwwroot/内网IP或域名/centos/7/   #同步新的
createrepo --update  /www/wwwroot/内网IP或域名/centos/7/ #更新依赖关系

chmod 777 /cron/repository.sh
crontab -e #添加定时任务
0 0 1 * * sh /cron/repository.sh #每月1日0时更新yum仓库

5、接下来写自建yum源的repo文件

vi /etc/yum.repos.d/CentOS7.repo

[base]
name=Centos7-base
baseurl=http://yum.yft.local/centos/7/
enabled=1
gpgcheck=0

[extras]
name=Centos7-extras
baseurl=http://yum.yft.local/centos/7/
enabled=1
gpgcheck=0

[updates]
name=Centos7-updates
baseurl=http://yum.yft.local/centos/7/
enabled=1
gpgcheck=0

[epel]
name=Centos7-epel
baseurl=http://yum.yft.local/centos/7/
enabld=1
gpgcheck=0

[epel-debuginfo]
name=Centos7-epel-debuginfo
baseurl=http://yum.yft.local/centos/7/
enabld=1
gpgcheck=0

[epel-source]
name=Centos7-epel-source
baseurl=http://yum.yft.local/centos/7/
enabld=1
gpgcheck=0

使用该yum源报错时需要执行该命令

yum clean all
rpm --rebuilddb #表示重建rpm数据库
使用Nginx搭建内网本地yum源与阿里云源定时同步更新
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇