linux企業内部ソース作成

2912 ワード

httpのインストール
# yum -y install httpd -y

パッケージのインストール
# yum -y install rsync createrepo

ディレクトリの作成
# mkdir -p /var/www/repos/centos/7/{os,updates,extras}/x86_64

権限の設定
# chmod -R 755 /var/www/repos

清華政府のソースから同期
# rsync -avz --delete --exclude='repodata' \
rsync://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/ \
/var/www/repos/centos/7/os/x86_64/
# rsync -avz --delete --exclude='repodata' \
rsync://mirrors.tuna.tsinghua.edu.cn/centos/7/updates/x86_64/ \
/var/www/repos/centos/7/updates/x86_64/
# rsync -avz --delete --exclude='repodata' \
rsync://mirrors.tuna.tsinghua.edu.cn/centos/7/extras/x86_64/ \
/var/www/repos/centos/7/extras/x86_64/

metadata repositoriesの作成
# createrepo /var/www/repos/centos/7/os/x86_64/ 
# createrepo /var/www/repos/centos/7/updates/x86_64/ 
# createrepo /var/www/repos/centos/7/extras/x86_64/

スケジュールタスクを設定し、毎日同期する
# vi /etc/cron.daily/update-repo
#!/bin/bash
VER='7'
ARCH='x86_64'
REPOS=(os updates extras)
for REPO in ${REPOS[@]}
do
    rsync -avz --delete --exclude='repodata' \
    rsync://mirrors.tuna.tsinghua.edu.cn/centos/${VER}/${REPO}/${ARCH}/ /var/www/repos/centos/${VER}/${REPO}/${ARCH}/
    createrepo /var/www/repos/centos/${VER}/${REPO}/${ARCH}/
done


権限を与える
# chmod 755 /etc/cron.daily/update-repo

httpホストを構成して他のクライアントにアクセス
# vi /etc/httpd/conf.d/repos.conf
Alias /repos /var/www/repos

    Options +Indexes
    Require all granted

サービスの再起動
# systemctl restart httpd
  • 5

  • ファイアウォールの設定
    # firewall-cmd --add-service=http --permanent 
    # firewall-cmd --reload

    172.16.8.100がソースサーバアドレスであるクライアントのプロファイル
    # vi /etc/yum.repos.d/CentOS-Base.repo
    [base]
    name=CentOS-$releasever - Base
    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
    baseurl=http://172.16.8.100/repos/centos/$releasever/os/$basearch/
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
    [updates]
    name=CentOS-$releasever - Updates
    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
    baseurl=http://172.16.8.100/repos/centos/$releasever/updates/$basearch/
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
    [extras]
    name=CentOS-$releasever - Extras
    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
    baseurl=http://172.16.8.100/repos/centos/$releasever/extras/$basearch/
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7