CentOS7搭建本地YUM仓库,并定期同步阿里云源

CentOS7同步阿里云镜像rpm包并自建本地yum仓库

系统环境

# cat /etc/centos-release

CentOS Linux release 7.6.1810 (Core)

# uname -r

3.10.0-957.el7.x86_64

# ip a |awk ‘NR==9{print $2}‘|awk -F ‘/‘ ‘{print $1}‘

10.0.0.100

修改yum源为阿里云源

备份系统自带的yum源

# tar -zcvf CentOS-bk.tar.gz /etc/yum.repos.d/CentOS-*

修改yum源

# 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

或者

# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

# curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

检验阿里云源是否正常

# 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,019

!epel/x86_64                                                                Extra Packages for Enterprise Linux 7 - x86_64                                                           12,902

!extras/7/x86_64                                                            CentOS-7 - Extras - mirrors.aliyun.com                                                                      371

!updates/7/x86_64                                                           CentOS-7 - Updates - mirrors.aliyun.com                                                                   1,103

repolist: 24,395

安装相关软件

# yum install -y wget make cmake gcc gcc-c++ pcre-devel lib zlib-devel openssl openssl-devel createrepo yum-util

yum-utils:reposync同步工具

createrepo:编辑yum库工具

plugin-priorities:控制yum源更新优先级工具,这个工具可以用来控制进行yum源检索的先后顺序,建议可以用在client端。

注:由于很多人喜欢最小化安装,上边软件是一些常用环境。

根据源标识同步源到本地目录

创建本地目录

#mkdir /mirror

同步到本地目录

# reposync -p / mirror

注:不用担心没有创建相关目录,系统自动创建相关目录,并下载,时间较长请耐心等待。

可以用  repo -r --repoid=repoid指定要查询的repo id,可以指定多个(# reposync -r base -p /mirror     #这里同步base目录到本地)

更新新的rpm包

# reposync -np /mirror

注:时间同样较长,请耐心等待。

创建索引

# createrepo -po /mirror/base/ /mirror/base/

# createrepo -po /mirror/extras/ /mirror/extras/

# createrepo -po /mirror/updates/ /mirror/updates/

# createrepo -po /mirror/epel/ /mirror/epel/

更新源数据

# createrepo --update /mirror/base

# createrepo --update /mirror/extras

# createrepo --update /mirror/updates

# createrepo --update /mirror/epel

创建定时任务脚本

#vim /mirror/script/centos_yum_update.sh

#!/bin/bash

echo ‘Updating Aliyum Source‘

DATETIME=`date +%F_%T`

exec > /var/log/aliyumrepo_$DATETIME.log

reposync -np /mirror

if [ $? -eq 0 ];then

createrepo --update /mirror/base

createrepo --update /mirror/extras

createrepo --update /mirror/updates

createrepo --update /mirror/epel

echo "SUCESS: $DATETIME aliyum_yum update successful"

else

echo "ERROR: $DATETIME aliyum_yum update failed"

fi

将脚本加入到定时任务中

# crontab -e

# Updating Aliyum Source

00 13 * * 6 [ $(date +%d) -eq $(cal | awk ‘NR==3{print $NF}‘) ] && /bin/bash /mirror/script/centos_yum_update.sh

每月第一个周六的13点更新阿里云yum源

安装nginx开启目录权限保证本地机器可以直接本地yum源

# yum install nginx -y

找到nginx配置文件,并修改nginx配置文件:

# vim nginx.conf

worker_processes  1;

events {

worker_connections  1024;

}

http {

include       mime.types;

default_type  application/octet-stream;

sendfile        on;

keepalive_timeout  65;

server {

listen       80;

server_name  localhost;

root         /mirror ;   #这里是yum源存放目录

location / {

autoindex on;        #打开目录浏览功能

autoindex_exact_size off;  # off:以可读的方式显示文件大小

autoindex_localtime on; # on、off:是否以服务器的文件时间作为显示的时间

charset utf-8,gbk; #展示中文文件名

index index.html;

}

error_page   500 502 503 504  /50x.html;

location = /50x.html {

root   html;

}

}

}

在客户端修改yum源,并指向本地搭建的yum源主机

# vim CentOS7.x-Base.repo

[base]

name=CentOS-$releasever - Base - mirror.template.com

baseurl=http://10.0.0.100/base/

path=/

enabled=1

gpgcheck=0

[updates]

name=CentOS-$releasever - Updates - mirror.template.com

baseurl=http://10.0.0.100/updates/

path=/

enabled=1

gpgcheck=0

[extras]

name=CentOS-$releasever - Extras - mirrors.template.com

baseurl=http://10.0.0.100/extras/

path=/

enabled=1

gpgcheck=0

[epel]

name=CentOS-$releasever - epel - mirrors.template.com

baseurl=http://10.0.0.100/epel/

failovermethod=priority

enabled=1

gpgcheck=0

原文地址:https://www.cnblogs.com/lldsn/p/10479493.html

时间: 2024-10-15 14:03:25

CentOS7搭建本地YUM仓库,并定期同步阿里云源的相关文章

centos 创建本地yum源搭建本地yum仓库 亲测可用

现在如果我们需要大规模部署洗个系统,或者系统需要安装一个什么软件如nginx之类的软件.有的时候你的环境限制你上外网,或者是外网很慢的时候.我们考虑搭建本地yum仓库,内网机器可以直接快速安装所需的软件,解决linux下面的包的依赖,方便,快捷. 下面我们来搭建一下根底yum仓库: 系统:centos6.5 搭建yum仓库有很多种方法,我们这里使用yum插件yum-downloadonly插件来下载我们所需的rpm包.使用createrepo来创建仓库文件. 开始: 我们需要安装zabbix监控

CentOS7配置本地yum仓库

在虚拟机上最小化安装CentOS7后,里面的工具真的很少,添加cdrom作为本地yum仓库1.创建cdrom的挂载点mkdir /mnt/cdrom2.修改fstab,开机自动挂载cdrom,增加下面一行/dev/cdrom /mnt/cdrom iso9660 defaults 0 03.挂载cdrommount -a4.把现有的repo文件移动到备份文件夹cd /etc/yum.repo/mkdir bakmv .repo bak5.创建cdrom.repovi cdrom.repo [cd

通过ISO镜像简单搭建本地yum仓库

在一次安装软件过程中,需要依赖包,但是这个依赖包没有在原先的ISO源里面.因为下载的系统包有CD1跟CD2,检查后发现所需的rpm包在CD2里面,直接配置CD2为yum源时缺需要CD1里面的rpm包.最后想了个办法,用软连接把两个ISO的包合并后得到一个完整的安装源. 在一台机器上配置后,可以在这台服务器上搭建http服务器,把它当作一个内网的yum仓库使用.通过目录区分不同版本的yum源,简化并统一内网服务器的yum源配置. 一.原始的yum配置. [[email protected] ~]#

centos7 搭建本地yum源

介绍:本地yum源服务器主要原因是安全.稳定性比较好,本地yum源服务器也解决了更新.安装软件时不需要外网. 1.安装http服务器 yum  install  httpd  start yum install createrepo       创建仓库的软件包. 2.创建镜像文件目录 mkdir  yum/centos/5 mkdir  yum/centos/6 mkdir  yum/centos/7 3.拷贝光盘到相应的目录下 一下以centos7 为例 mount -o  loop   /

通过挂载系统光盘搭建本地yum仓库的方法

1.挂载光盘 [[email protected] ~]# mount /dev/cdrom /media/cdrom/ mount: /dev/sr0 写保护,将以只读方式挂载 /media下的cdrom目录是事先创建好的 2.修改yum配置文件(文件位置:/etc/yum.repos.d) [[email protected] /]# cd /etc/yum.repos.d/ [[email protected] yum.repos.d]# mkdir bak #创建一个文件夹来存放多余的配

linux通过挂载系统光盘搭建本地yum仓库的方法

1.挂载光盘 [[email protected] ~]# mount /dev/cdrom /media/cdrom/ mount: /dev/sr0 写保护,将以只读方式挂载 /media下的cdrom目录是事先创建好的 2.修改yum配置文件(文件位置:/etc/yum.repos.d) [[email protected] /]# cd /etc/yum.repos.d/ [[email protected] yum.repos.d]# mkdir bak #创建一个文件夹来存放多余的配

3、通过挂在系统光盘搭建本地yum仓库的方法

1. mkdir xxx #新建文件夹 (新建一个挂载需要的文件夹) 2.配置本地yum源(挂载光盘) 3.进入 yum.repos.d 4.ls (查看当前文件夹全部的文件) 并 mv 修改   除Media 外   全改为 xxx.bak 5. vi CentOS-Media.repos (修改yum配置文件) 重新设置路径 : gpgchek=1 修改为 gpgchek=0 :enabled=0 修改为 enabled=1 6.yum list (查看yum仓库里的所有软件)

通过挂载系统U盘搭建本地yum仓库

首先打开hbza(CentOS)和yum,两者要连接上 第1步:在hbza中创建一个目录 输入mkdir /lxk,名字随便起.输入mount  /dev/cdrom  /lxk 第2步:打开yum,输入"cd  /etc/yum.repos.d "  回车,ls查看,输入"cd  bak ",   ls查看,输入vi  CentOS-Media.repo  (vi 空格后面没有/) 第3步:进入后,修改file:///lxk  ,gpgcheck=1,改为0,en

搭建本地yum仓库

挂载镜像的方式 cp -r /etc/yum.repos.d /etc/yum.repos.d.bak //备份yum.repos.d目录 rm -f /etc/yum.repos.d/* //删除yum.repos.d目录下的文件以便测试 mount /dev/cdrom /mnt //挂载镜像到/mnt目录 vim /etc/yum.repos.d/dvd.repo //内容如下 [dvd] name=install dvd baseurl=file:///mnt enable=1 gpgc