CentOS7仓库服务器快速启动指南

在Intranet内部安装代码管理服务器。

在这个步骤中,为方便而将存储库服务器的主机地址暂定为172.27.0.67。

逐个引入所需的软件包
# yum install httpd rsync createrepo
创建一个用于安装软件包的目录。
# mkdir -p /var/www/html/centos/7/{os,updates,extras}/
使用手动rsync将包下载到本地。
rsync -rptvz --delete rsync://ftp.riken.jp/centos/7/os/ /var/www/html/centos/7/os/
rsync -rptvz --delete rsync://ftp.riken.jp/centos/7/updates/ /var/www/html/centos/7/updates/
rsync -rptvz --delete rsync://ftp.riken.jp/centos/7/extras/ /var/www/html/centos/7/extras/

※結構時間かかるので気長に待つ。

rsyncオプションメモ
-r  ディレクトリ内を再帰的にコピー。
-p  パーミッションをそのままコピー。
-t  タイムスタンプをそのままコピー。
-v  コピーしているファイル名やバイト数などの情報を表示。
-z  通信を圧縮。
-u  コピー先がコピー元より新しいならコピーしない
设置仓库服务器的HTTP配置
# cd /etc/httpd/conf.d
# mkdir old
# mv .* old
# echo '<directory "/var/www/html/centos">' >  /etc/httpd/conf.d/centos-mirror.conf
# echo '  options +indexes'                 >> /etc/httpd/conf.d/centos-mirror.conf
# echo '</directory>'                       >> /etc/httpd/conf.d/centos-mirror.conf
# systemctl restart  httpd
设定接收HTTP请求的主机IP。
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=dhcp
HWADDR=XX:XX:XX:XX:XX:XX
TYPE=Ethernet
IPADDR=172.27.0.67
NETMASK=255.255.255.0
IPV6INIT=no
# systemctl restart NetworkManager
# systemctl restart network

请使用以下地址确认与服务器的连接。

# curl 172.27.0.67/centos/7/os/x86_64/Packages/
# vi /etc/yum.repos.d/CentOS-Base.repo
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
baseurl=http://172.27.0.67/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#released updates
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
baseurl=http://172.27.0.67/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
baseurl=http://172.27.0.67/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

请确认参考的仓库是已设置的主机。

# du -sh /var/cache/yum
# yum clean all
# yum repolist all
# du -sh /var/cache/yum

为了定期进行差异同步,需要使用cron和脚本来安排。

# yum install cronie-noanacron
# yum remove cronie-anacron
# systemctl start crond
# systemctl enable crond
# cat /etc/cron.d/dailyjobs
#!/bin/bash
rsync -aurvz --delete rsync://ftp.riken.jp/centos/7/os/ /var/www/html/centos/7/os/ > /tmp/reposync.centos_7_os.log
rsync -aurvz --delete rsync://ftp.riken.jp/centos/7/updates/ /var/www/html/centos/7/updates/ > /tmp/reposync.centos_7_updates.log
rsync -aurvz --delete rsync://ftp.riken.jp/centos/7/extras/ /var/www/html/centos/7/extras/ > /tmp/reposync.centos_7_extras.log

想要将「cron.daily」与镜像站点同步的时间点进行更改。

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

# run-parts
01 00 * * * root [ ! -f /etc/cron.hourly/0anacron ] && run-parts /etc/cron.daily
22 4 * * 0 root [ ! -f /etc/cron.hourly/0anacron ] && run-parts /etc/cron.weekly
42 4 1 * * root [ ! -f /etc/cron.hourly/0anacron ] && run-parts /etc/cron.monthly
# ll /tmp/
bannerAds