CentOS7搭建yum源仓库(阿里源)
文章目录
注意:环境要求
`阿里源的centos6和centos7各14G不到,注意磁盘空间`
'环境准备,修改hostname,关闭防火墙,disabled selinux'
[root@localhost ~]# hostnamectl set-hostname --static yum-server
[root@yum-server ~]# systemctl disable firewalld --now
[root@yum-server ~]# sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/sysconfig/selinux
1、配置服务器端yum
1.1、安装yum源工具
[root@yum-server ~]# yum -y install epel-release.noarch # nginx需要epel源
[root@yum-server ~]# yum -y install nginx # 安装nginx
[root@yum-server ~]# yum -y install createrepo yum-utils # 安装repository管理工具
1.2、配置nginx
[root@yum-server nginx]# cd /etc/nginx/
[root@yum-server nginx]# cp nginx.conf{,.bak} # 备份!备份!备份!
[root@yum-server nginx]# vim nginx.conf
server {
listen 80;
server_name localhost;
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
}
# 在server段加入以下三段内容
autoindex on; # 表示:自动在index.html的索引打开
autoindex_exact_size on; # 表示:如果有文件,则显示文件的大小
autoindex_localtime on; # 表示:显示更改时间,以当前系统的时间为准
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
[root@yum-server nginx]# nginx -t # 检测一下nginx语法是否有错
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@yum-server nginx]# systemctl enable nginx.service --now # 启动nginx,设为开机自启
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.
[root@yum-server nginx]# curl -I http://localhost # 访问本地,状态码返回200,服务正常
HTTP/1.1 200 OK
Server: nginx/1.16.1
Date: Sun, 05 Jul 2020 09:48:05 GMT
Content-Type: text/html
Content-Length: 4833
Last-Modified: Fri, 16 May 2014 15:12:48 GMT
Connection: keep-alive
ETag: "53762af0-12e1"
Accept-Ranges: bytes
1.2.1、配置nginx页面目录
[root@yum-server nginx]# cd /usr/share/nginx/html/
[root@yum-server html]# mkdir -p CentOS-YUM/Aliyun/{version_6,version_7}/64bit
[root@yum-server html]# tree /usr/share/nginx/html/CentOS-YUM/
/usr/share/nginx/html/CentOS-YUM/
└── Aliyun
├── version_6
│ └── 64bit
└── version_7
└── 64bit
5 directories, 0 files
[root@yum-server html]# cd CentOS-YUM/
[root@yum-server CentOS-YUM]# vim index.html
<p style="font-weight:bolder;color:green;font-size:30px;">ALL of the packages in the below:</p>
<br/>
<a href="http://192.168.57.133/CentOS-YUM/Aliyun">version_6</a><br/>
These packagers using for Centos 6<br/>
<a href="http://192.168.57.133/CentOS-YUM/Aliyun">version_7</a><br/>
These packagers using for Centos 7<br/>
<p style="font-weight:bolder;color:red;font-size:18px;">Please replace the file and fill in the f ollowing content:</p>
<p style="font-weight:bolder;color:blue;font-size:15px;">Way: /etc/yum.repos.d/CentOS-Base.repo</ p>
1.3、替换yum源文件
# 备份原来的官方yum源
[root@yum-server CentOS-YUM]# cd /etc/yum.repos.d/
[root@yum-server yum.repos.d]# mv ./* /tmp/
[root@yum-server yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo # 下载aliyun的centos7的yum源
[root@yum-server yum.repos.d]# vim yum.reposync.sh # 同步脚本
#!/usr/bin/bash
reposync -p /usr/share/nginx/html/CentOS-YUM/Aliyun/version_7/64bit/
# 同步/etc/yum.repos.d/CentOS-Base.repo内的rpm包
/usr/bin/sed -i "s/7/6/g" /etc/yum.repos.d/CentOS-Base.repo
# 将CentOS-Base.repo内的7改成6,后续同步centos6的rpm包使用
reposync -p /usr/share/nginx/html/CentOS-YUM/Aliyun/version_6/64bit/
# 同步/etc/yum.repos.d/CentOS-Base.repo内的rpm包(此时是centos6的包)
/usr/bin/sed -i "s/6/7/g" /etc/yum.repos.d/CentOS-Base.repo
# 重新将CentOS-Base.repo内的6改回成7,下次同步的时候,不会出错
[root@yum-server yum.repos.d]# chmod +x yum.reposync.sh # 要给执行权限
[root@yum-server yum.repos.d]# ll
total 8
-rw-r--r-- 1 root root 2523 Jun 16 2018 CentOS-Base.repo
-rwxr-xr-x 1 root root 303 Jul 5 19:02 yum.reposync.sh
[root@yum-server yum.repos.d]# sh yum.reposync.sh
# 等待同步完成
# 同步完成,查看文件大小,合计27G
[root@yum-server CentOS-YUM]# du -ch Aliyun/
9.0G Aliyun/version_7/64bit/base/Packages
9.0G Aliyun/version_7/64bit/base
616M Aliyun/version_7/64bit/extras/Packages
616M Aliyun/version_7/64bit/extras
3.6G Aliyun/version_7/64bit/updates/Packages
3.6G Aliyun/version_7/64bit/updates
14G Aliyun/version_7/64bit
14G Aliyun/version_7
9.0G Aliyun/version_6/64bit/base/Packages
9.0G Aliyun/version_6/64bit/base
616M Aliyun/version_6/64bit/extras/Packages
616M Aliyun/version_6/64bit/extras
3.6G Aliyun/version_6/64bit/updates/Packages
3.6G Aliyun/version_6/64bit/updates
14G Aliyun/version_6/64bit
14G Aliyun/version_6
27G Aliyun/
27G total
1.4、建立yum源仓库
'因为建仓最终的目的也是可供client来进行检索的,所以得每个Packages目录都要建成仓库,所以建仓的时候,目录指到最底层的Packages,而-np更新的时候只用指定到64bit的目录就可以了,否则会重复建立base、extras、updates三个目录进行下载
[root@yum-server ~]# createrepo -p /usr/share/nginx/html/CentOS-YUM/Aliyun/version_7/64bit/base/Packages/
Spawning worker 0 with 10070 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
[root@yum-server ~]# createrepo -p /usr/share/nginx/html/CentOS-YUM/Aliyun/version_7/64bit/extras/Packages/
Spawning worker 0 with 397 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
[root@yum-server ~]# createrepo -p /usr/share/nginx/html/CentOS-YUM/Aliyun/version_7/64bit/updates/Packages/
Spawning worker 0 with 884 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
[root@yum-server ~]# createrepo -p /usr/share/nginx/html/CentOS-YUM/Aliyun/version_6/64bit/base/Packages/
Spawning worker 0 with 10070 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
[root@yum-server ~]# createrepo -p /usr/share/nginx/html/CentOS-YUM/Aliyun/version_6/64bit/updates/Packages/
Spawning worker 0 with 884 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
[root@yum-server ~]# createrepo -p /usr/share/nginx/html/CentOS-YUM/Aliyun/version_6/64bit/extras/Packages/
Spawning worker 0 with 397 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete[root@yum-server ~]# tree -d /usr/share/nginx/html/CentOS-YUM/Aliyun/ # 建仓完成后,会自动生成一个repodata目录
/usr/share/nginx/html/CentOS-YUM/Aliyun/
├── version_6
│ └── 64bit
│ ├── base
│ │ └── Packages
│ │ └── repodata
│ ├── extras
│ │ └── Packages
│ │ └── repodata
│ └── updates
│ └── Packages
│ └── repodata
└── version_7
└── 64bit
├── base
│ └── Packages
│ └── repodata
├── extras
│ └── Packages
│ └── repodata
└── updates
└── Packages
└── repodata
22 directories
'可以写一个更新yum源的脚本,然后写一个计划任务,定期更新yum源(reposync -np 就是更新新的rpm包)
#!/usr/bin/bash
reposync -np /usr/share/nginx/html/CentOS-YUM/Aliyun/version_7/64bit/
echo "centos7 is sync complate"
/usr/bin/sed -i "s/7/6/g" /etc/yum.repos.d/CentOS-Base.repo`
reposync -np /usr/share/nginx/html/CentOS-YUM/Aliyun/version_6/64bit/
echo "centos6 is sync complate"
/usr/bin/sed -i "s/6/7/g" /etc/yum.repos.d/CentOS-Base.repo
2、配置客户端yum
# 备份原来的yum源
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo epel-testing.repo
CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo epel.repo
[root@localhost yum.repos.d]# mkdir back
[root@localhost yum.repos.d]# mv *.repo back/
[root@localhost yum.repos.d]# ls
back
[root@localhost yum.repos.d]# vim CentOS-Base.repo # 需要6,就使用6,需要7,就使用7,也可以使用yum-plugin-priorities工具来控制优先级,加上priority=1(2|3|4都可以)来控制优先级
[Aliyun_7_base]
name=source_from_localserver
baseurl=http://192.168.57.133/CentOS-YUM/Aliyun/version_7/64bit/base/Packages
gpgcheck=0
enable=1
[Aliyun_7_extras]
name=source_from_localserver
baseurl=http://192.168.57.133/CentOS-YUM/Aliyun/version_7/64bit/extras/Packages
gpgcheck=0
enable=1
[Aliyun_7_updates]
name=source_from_localserver
baseurl=http://192.168.57.133/CentOS-YUM/Aliyun/version_7/64bit/updates/Packages
gpgcheck=0
enable=1
# [Aliyun_6_base]
# name=source_from_localserver
# baseurl=http://192.168.57.133/CentOS-YUM/Aliyun/version_6/64bit/base/Packages
# gpgcheck=0
# enable=1
#
# [Aliyun_6_extras]
# name=source_from_localserver
# baseurl=http://192.168.57.133/CentOS-YUM/Aliyun/version_6/64bit/extras/Packages
# gpgcheck=0
# enable=1
#
# [Aliyun_6_updates]
# name=source_from_localserver
# baseurl=http://192.168.57.133/CentOS-YUM/Aliyun/version_6/64bit/updates/Packages
# gpgcheck=0
# enable=1
[root@localhost yum.repos.d]# yum clean all
[root@localhost yum.repos.d]# yum makecache
# 安装软件来测试一下
[root@localhost yum.repos.d]# yum -y install net-tools
Loaded plugins: fastestmirror, priorities
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package net-tools.x86_64 0:2.0-0.25.20131004git.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
=====================================================================================================
Package Arch Version Repository Size
=====================================================================================================
Installing:
net-tools x86_64 2.0-0.25.20131004git.el7 Aliyun_7_base 306 k
Transaction Summary
=====================================================================================================
Install 1 Package
Total download size: 306 k
Installed size: 917 k
Downloading packages:
net-tools-2.0-0.25.20131004git.el7.x86_64.rpm | 306 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : net-tools-2.0-0.25.20131004git.el7.x86_64 1/1
Verifying : net-tools-2.0-0.25.20131004git.el7.x86_64 1/1
Installed:
net-tools.x86_64 0:2.0-0.25.20131004git.el7
Complete!
安装完成,Repository里面显示,是从Aliyun_7_base内获取的,到此,yum源仓库(阿里源)部署完成
CentOS7搭建yum源仓库(阿里源)的更多相关文章
- 设置centos的yum仓库源为阿里源
前提 使我们的主机能够连接到外网 cd /etc/yum.repos.d/ #切换到yum仓库目录下 rm -rf * #删除默认配置仓库 wget -O /etc/yum.repos.d/CentO ...
- [转]centos7 修改yum源为阿里源
centos7 修改yum源为阿里源,某下网络下速度比较快 首先是到yum源设置文件夹里 cd /etc/yum.repos.d 接着备份旧的配置文件 sudo mv CentOS-Base.repo ...
- centos7 修改yum源为阿里源
centos7 修改yum源为阿里源,某下网络下速度比较快 首先是到yum源设置文件夹里 安装base reop源 cd /etc/yum.repos.d 接着备份旧的配置文件 sudo mv Cen ...
- Linux 用脚本编写搭建yum本地仓库
Linux 用脚本编写搭建yum本地仓库 源码如下: #!/bin/bash #该脚本用于自动化搭建本地yum仓库 #挂载光盘 #作者:雨中落叶 #博客:https://www.cnblogs.com ...
- CentOS6.8环境下搭建yum网络仓库
CentOS6.8环境下搭建yum网络仓库 本文利用ftp服务,在CentOS6.8系统下搭建一个yum仓库,然后用另一台虚拟机访问该仓库.并安装程序包 安装ftp服务 查询ftp服务是否安装 [ro ...
- linux远程搭建yum网络仓库《全面解析》
目录 一:远程版本需求 1.yum简介 2.yum安装解析 二:yum安装的生命周期 三:yum私有仓库作用与必要性 四:搭建yum私有仓库 本地版本 1.下载必须的软件包 2.创建软件仓库(就是创建 ...
- ubuntu16.04更改源为阿里源
一.通过系统更换源 第一步:备份原来的源文件cd /etc/apt/ 然后会显示下面的源文件sources.list输入命令sudo cp sources.list sources.list.bak ...
- 搭建YUM本地仓库
本文介绍如何利用CentOS 7 ISO光盘镜像搭建YUM本地仓库. 环境准备: (1)VMware15.5版本虚拟机 (2)CentOS-7-x86_64-DVD-1908光盘镜像文件 1. 搭建Y ...
- Centos7搭建Harbor私有仓库(二)
1 说明 前文Centos7搭建Harbor私有仓库(一)中成功搭建了Harbor,但,是以http方式搭建的,这里我们修改为https方式 以下基于镜像CentOS-7-x86_64-Minimal ...
随机推荐
- 聊聊同步、异步、阻塞、非阻塞以及IO模型
前言 在使用Netty改造手写RPC框架的时候,需要给大家介绍一些相关的知识,这样很多东西大家就可以看明白了,手写RPC是一个支线任务,后续重点仍然是Kubernetes相关内容. 阻塞与非阻塞 同步 ...
- 闯祸了,生成环境执行了DDL操作《死磕MySQL系列 十四》
由于业务随着时间不停的改变,起初的表结构设计已经满足不了如今的需求,这时你是不是想那就加字段呗!加字段也是个艺术活,接下来由本文的主人咔咔给你吹. 试想一下这个场景 事务A在执行一个非常大的查询 事务 ...
- 【Java】回形数
回形数 键盘读入一个整数n(1-20),以n为矩阵大小,把1,2,3,4,5-按顺时针螺旋的形式填入. import java.util.Scanner; public class HuiXingSh ...
- k个鸡蛋从N楼层摔,如果确定刚好摔碎的那个楼层,最坏情况下最少要试验x次?
题目 k个鸡蛋从N楼层摔,如果确定刚好摔碎的那个楼层,最坏情况下最少要试验x次? 换个说法: k个鸡蛋试验x次最多可以检测N层楼.计算出N? 逆向思维和数学公式解. 分析 定义N(k,x) 如果第k个 ...
- 如何使用Github搭建自己的博客
1.前期准备 sudo apt-get install npm sudo npm install hexo -g 首先使用如下命令创建项目,name是你要创建的博客的名字: hexo init {na ...
- 微服务架构 | 12.1 使用 Apache Dubbo 实现远程通信
目录 前言 1. Dubbo 基础知识 1.1 Dubbo 是什么 1.2 Dubbo 的架构图 1.3 Spring Cloud 与 Dubbo 的区别 1.4 Dubbo 的特点 1.5 Dubb ...
- 领域驱动设计-CQRS
CQRS 代表命令查询职责分离.这是我第一次听到Greg Young描述的模式.其核心概念是,您可以使用与用于读取信息的模型不同的模型来更新信息.在某些情况下,这种分离可能很有价值,但请注意,对于大多 ...
- gin框架中使用jwt
生成解析token 如今有很多将身份验证内置到API中的方法 -JSON Web令牌只是其中之一.JSON Web令牌(JWT)作为令牌系统而不是在每次请求时都发送用户名和密码,因此比其他方法(如基本 ...
- gin中模型的绑定和验证
要将请求体绑定到结构体中,使用模型绑定. Gin目前支持JSON.XML.YAML和标准表单值的绑定(foo=bar&boo=baz). Gin使用 go-playground/validat ...
- 使用VSCode在本地电脑上对树莓派远程开发
目的及原理 有时身边没有额外的显示器和键盘,或者有时树莓派在另一个屋子连接着路由器,那么当我们想在树莓派上做开发时就可以使用VS Code的远程开发能力.下面一张图显而易见地说明了远程开发的工作原理( ...