CentOS6.x rsync+httpd搭建配置本地YUM源库

简介:

一、环境说明

        yum库,是readhat/CentOS 系统软件仓库,可以通过http ftp协议传输存储在网络上的仓库;yum 主要功能是更方便的添加/删除/更新RPM 包,自动解决软件包依赖性问题,便于管理大量系统的更新维护软件包问题。yum 库可以同时配置多个资源库(Repository),简洁的配置文件(/etc/yum.conf),自动解决增加或删除rpm 包时遇到的依赖性问题,保持与RPM 数据库的一致性。

本教程就以同步网络上的开源yum仓库到本地,配置成本地的yum仓库(使用光盘即可,有兴趣的可以自己配置以下)

        系统采用CentOS6.8_x64 ,rsync httpd,同步CentOS6.x软件包到本地,以及添加常用rpm包到本地yum仓库;测试机器内网ip为10.168.118.93


二、安装rsync和httpd

1、安装软件

#yum install rsync  httpd -y

暂时不做配置,rsync用来从外网yum仓库同步用的,httpd用来发本地yum仓库

2、配置httpd

修改httpd配置如下(大约在295行)

DocumentRoot "/data1/www/html/"    #这个目录即下面脚本中同步外网yum仓库到本地的位置

3、启动httpd服务

#service httpd start

#chkconfig --httpd on


三、同步外网yum脚本

1、同步脚本

#cat rsync_yum.sh

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/bin/bash
YUM_SITE= "rsync://mirrors.kernel.org/centos/"
#存放路径,我这里用的是独立分区的目录
LOCAL_PATH= "/data1/www/html/centos/"
#需要同步哪些目录
LOCAL_VER= './'
BW_limit=2048
LOCK_FILE= "/var/log/yum_server.pid"
RSYNC_PATH= ""
# check update yum server pid
MY_PID=$$
if  [ -f $LOCK_FILE ];  then
get_pid=` /bin/cat  $LOCK_FILE`
get_system_pid=` /bin/ps  -ef| grep  - v  grep | grep  $get_pid| wc  -l`
if  [ $get_system_pid - eq  0 ] ;  then
echo  $MY_PID>$LOCK_FILE
else
echo  "Have update yum server now!"
exit  1
fi
else
echo  $MY_PID>$LOCK_FILE
fi
# check rsync tool
if  [ -z $RSYNC_PATH ];  then
RSYNC_PATH=` /usr/bin/whereis  rsync | awk  ' ' '{print $2}' `
if  [ -z $RSYNC_PATH ];  then
echo  'Not find rsync tool.'
echo  'use comm: yum install -y rsync'
fi
fi
verlist=6             #指定要同步的yum源,6即CentOS6,也可以同时同步多个版本,以空格隔开
# sync yum source,only 6
for  VER  in  $verlist;
do
    $RSYNC_PATH -avzH --delete --bwlimit=$BW_limit --exclude-from= /data1/workshell/exclude .txt $YUM_SITE/$VER/ $LOCAL_PATH/$VER/
done
# clean lock file
` /bin/rm  -f $LOCK_FILE`
echo  "rsync end $(date +%Y-%m-%d_%k:%M:%S)"  >>  /data1/www/html/centos/centos_rsync_is_end .txt
exit  1

2、添加脚本到计划任务

添加脚本到crontabl计划中每周一凌晨3点执行同步

1 3 * * 1 /data1/workshell/rsync_yum.sh 2> /dev/null


3、手动执行测试

同步完后可以看到目录结构如下:

wKiom1lSKyWhX4_eAABE_NbMSKQ119.png-wh_50


4、客户端测试

移除系统自带的repo仓库,创建local.repo配置内容如下:

1
2
3
#cd /etc/yum.repos.d/
#mkdir bak
#mv *.repo ./bak

#cat local.repo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[base]
name=CentOS - base
baseurl=http: //10 .168.118.93 /centos/ $releasever /os/ $basearch/
gpgcheck=1
gpgkey=http: //10 .168.118.93 /centos/RPM-GPG-KEY-CentOS-6
[updates]
name=CentOS - updates
baseurl=http: //10 .168.118.93 /centos/ $releasever /updates/ $basearch/
gpgcheck=1
gpgkey=http: //10 .168.118.93 /centos/RPM-GPG-KEY-CentOS-6
[extras]
name=CentOS - extras
baseurl=http: //10 .168.118.93 /centos/ $releasever /extras/ $basearch/
gpgcheck=1
gpgkey=http: //10 .168.118.93 /centos/RPM-GPG-KEY-CentOS-6

#yum clean all

#yum makecache 如图:

wKioL1lSLNahKc5VAABmwk6WdF8635.png-wh_50


#测试安装lftp如图:

wKioL1lSLyzxsOPXAADFzJWB5xA481.png-wh_50

wKiom1lSLyzBc048AAIbJAbKXek425.png-wh_50


到此本地yum仓库配置完成!










本文转自 dyc2005 51CTO博客,原文链接:http://blog.51cto.com/dyc2005/1942480,如需转载请自行联系原作者
目录
相关文章
|
1月前
|
缓存 Linux
CentOS-6的iso下载地址镜像yum源
通过上述步骤,您可以成功下载CentOS 6的ISO镜像文件,并配置适用于CentOS 6的YUM源。尽管CentOS 6已经停止更新,但使用这些镜像和YUM源配置,可以继续在需要的环境中使用和维护CentOS 6系统。
282 20
|
1月前
|
Java
CentOS7.8配置Adoptium-Java17运行环境
本指南介绍如何设置清华镜像源并安装 Temurin-17-JRE 运行环境。首先,编辑 `/etc/yum.repos.d/adoptium.repo` 文件,配置清华镜像源。接着,使用 `yum install -y temurin-17-jre` 命令安装 Temurin-17-JRE,并通过 `java --version` 验证安装成功。相关配置和操作界面截图附后。
45 8
|
1月前
|
网络协议 Java 应用服务中间件
centos7环境下tomcat8的安装与配置
本文介绍了在Linux环境下安装和配置Tomcat 8的详细步骤。首先,通过无网络条件下的文件交互软件(如Xftp 6或MobaXterm)下载并解压Tomcat安装包至指定路径,启动Tomcat服务并测试访问。接着,修改Tomcat端口号以避免冲突,并部署Java Web应用项目至Tomcat服务器。最后,调整Linux防火墙规则,确保外部可以正常访问部署的应用。关键步骤包括关闭或配置防火墙、添加必要的端口规则,确保Tomcat服务稳定运行。
|
1月前
|
Linux
CentOs9 yum源出现404问题
CentOs9-stream yum源出现404问题
|
2月前
|
缓存 Linux
解决CentOS 7停止更新后yum源失效问题【图文教程】
以上步骤完成后,你的 CentOS 7 系统就会使用阿里云的 yum 源,更换yum以后就可以正常使用啦。
1783 2
|
3月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
322 2
|
4月前
|
Java jenkins 持续交付
Centos7下docker的jenkins下载并配置jdk与maven
通过上述步骤,您将成功在CentOS 7上的Docker容器中部署了Jenkins,并配置好了JDK与Maven,为持续集成和自动化构建打下了坚实基础。
198 1
|
4月前
|
存储 监控 Linux
在 CentOS 7 中如何对新硬盘进行分区、格式化、挂载及配置最佳实践
本文详细介绍了在 CentOS 7 中如何对新硬盘进行分区、格式化、挂载及配置最佳实践,包括使用 `fdisk` 创建分区、`mkfs` 格式化分区、创建挂载点、编辑 `/etc/fstab` 实现永久挂载等步骤,旨在有效管理服务器磁盘空间,提高系统稳定性和可维护性。
706 1
|
4月前
OpenEuler配置本地yum源
本文档介绍了如何在服务器和虚拟机上挂载光盘镜像并配置本地Yum仓库,包括创建挂载点、编辑repo文件、实现挂载持久化以及通过FTP共享本地仓库的方法。适用于需要频繁安装软件包或管理多台机器的场景。
749 0
OpenEuler配置本地yum源
|
Linux Apache 数据安全/隐私保护