Linux那点事儿——搭建本地yum仓库


前言

当我们使用yum目录安装包时,yum会查到/etc/yum.repos.d/*.repo文件获取包下载地址,默认CentOS源指向国外软件包仓库,当然这会影响我们的下载速度。所以一般在主机初始化时,我们会重写repo文件改为国内源,如阿里云源,但是在大批主机同时安装软件或者某个时间段,国内源下载速度不稳定。因此,我们组建公司内部yum源,将国内源同步到公司内部yum仓库,其余生产主机repo文件全部指向这个仓库,整个下载过程在内网进行,大大提高下载速度。


一、基本镜像的yum仓库

将系统安装盘挂载到文件系统,挂载后会有Package目录,里面保存了大量的rpm包。然后配置repo指向本地挂载文件系统来实现软件包管理。

  1. 挂载光盘(镜像)到文件系统
mount -t iso9660 /dev/cdrom /mnt/cdrom       # 将光盘挂载到/mnt/cdrom目录

mount -o loop -t iso9660 /path/*.iso /mnt    # 将iso镜像文件挂载到/mnt目录
  1. 开机挂载iso
vim /etc/fstab

/path/*.iso   /mnt     iso9660  loop  0 0
  1. 查看挂载
mount -a

df -Th   查看挂载
  1. 重写repo文件
cat local.repo

[local]

name=local

baseurl=file:///mnt

gpgcheck=0

enabled=1

yum clean all && yum makecache

二、搭建内网yun仓库

  1. 关闭防火墙和selinux
systemctl stop firewalld

systemctl disable firewalld

sed -ri '/^SELINUX=/c SELINUX=disabled' /etc/selinux/config

setenforce 0
  1. 安装应用
yum -y install ntpdate vsftpd ftp wget

yum -y install createrepo yum-utils

yumdownloader:下载rpm包所有依赖,但不安装

yumdownloader --resolve --destdir /tmp/ansible ansible

yum install --downloadonly --downloaddir=/tmp/ vsftpd

yum reinstall --downloadonly --downloaddir=/tmp/ vsftpd
  1. 时钟同步
/usr/sbin/ntpdate ntp1.aliyun.com
  1. 更换阿里源
gzip /etc/yum.repos.d/*

wget -O /etc/yum.repos.d/CentOS-Base.repo 

wget -O /etc/yum.repos.d/CentOS-epel.repo 
  1. 创建同步目录
mkdir -p /var/ftp/centos/7/x86_64/       # ftp

mkdir /var/www/html/centos6         # http
  1. 同步Yum源包
reposync -p /var/ftp/centos/7/x86_64/       # 将aliyun repo的rpm包同步到该目录
  1. 创建Yum仓库
createrepo -p /var/ftp/centos/7/x86_64/base/Packages

createrepo -p /var/ftp/centos/7/x86_64/updates/Packages

createrepo -p /var/ftp/centos/7/x86_64/extras/Packages

createrepo -p /var/ftp/centos/7/x86_64/epel/Packages
  1. 创建同步计划任务
echo "0 1 * * 6 root /usr/bin/reposync -np /var/ftp/centos/7/x86_64/" >> /etc/crontab
  1. 创建CentOS-Base.repo文件
vim CentOS-Base.repo

[base]

name=CentOS-$releasever - Base - [mirrors.aliyun.com]

failovermethod=priority

baseurl=ftp://192.168.122.128/centos/7/x86_64/base/Packages

enabled=1

gpgcheck=1

gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

[updates]

name=CentOS-$releasever - Updates - [mirrors.aliyun.com]

failovermethod=priority

baseurl=ftp://192.168.122.128/centos/7/x86_64/updates/Packages

enabled=1

gpgcheck=1

gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

[extras]

name=CentOS-$releasever - Extras - [mirrors.aliyun.com]

failovermethod=priority

baseurl=ftp://192.168.122.128/centos/7/x86_64/extras/Packages

enabled=1

gpgcheck=1

gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
  1. 创建epel.repo文件
[epel]

name=Extra Packages for Enterprise Linux 7 - $basearch

baseurl=ftp://192.168.122.128/centos/7/x86_64/epel/Packages

failovermethod=priority

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

偷学技术的梁胖胖yo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>