OS/Linux

[Centos] yum repository 구성

아르비스 2016. 3. 15. 09:05

Centos 를 사용하는데. 해당 방화벽이 막혀서.

DMZ에 mirror site를 구축한다.


기본 사용하는 내용이 

- base [os]

- update

- exstra 

위 3가지 이므로, 위 내용만 mirroring 한다.

모두 다혀면, 용량이 너무 커진다.


1. data 가져오기

하는 방법은 rsync 를 이용하거나, wget을 이용한 방법이 있다. ios 파일은 제외 했다.

용량 문제로.. (용량이 많다면, 그냥 다 해도 된다.)

난 그냥 rsync를 선택했다.. 그냥 쉬우니까. 

mirror site는 centos.mirror site 중 한곳을 선택했다.


 rsync  -avSHP --delete --exclude "local*" --exclude "isos" "http://107.158.252.35/6.3/os/"  /block/centos/os


 rsync  -avSHP --delete --exclude "local*" --exclude "isos" "http://107.158.252.35/6.3/updates/"  /block/centos/updates


 rsync  -avSHP --delete --exclude "local*" --exclude "isos" "http://107.158.252.35/6.3/extras/"  /block/centos/extras


하지만... 안된다. 왜?? 방화벽 때문에..

rsync는 873 port를 사용한다.

방화벽에서 80,443막 오픈된 상황이라서. 어쩔수 없이 wget을 사용한다.



 wget -m -nH -np -R "index.*,*.iso" -P "/block/centos/os" "http://107.158.252.35/6.3/os/" 


 wget -m -nH -np -R "index.*,*.iso" -P "/block/centos/updates" "http://107.158.252.35/6.3/updates/" 


wget -m -nH -np -R "index.*,*.iso" -P "/block/centos/extras" "http://107.158.252.35/6.3/extras/"  



2. web service 구축하기.


# 아파치 설치

yum -y install httpd


# 서버 부팅시 아파치 자동으로 올라오게 설정

chkconfig httpd on


# 아파치 시작

service httpd start


# CentOS Repo 디렉터리를 아파치 document root에 심볼릭 링크

ln -s /data/centos /var/www/html/centos


# SELinux 및 방화벽 끄기

lokkit --disabled --selinux=disabled 


자체 apache를 구축한 경우,

centos repository와 alias를 걸어준다.

[httpd.conf]

Alias /centos /block/centos

<Directory /block/centos>

  Require all granted

</Directory>

 



참조하는 곳은 다음과 같이 설정한다.

# cd /etc/yum.repos.d/

# vi centos.repo


[CentOS_base]

name=CentOS-$releasever - Base

baseurl=http://127.0.0.1/centos/os/$basearch/

gpgcheck=0

enabled=1

[CentOS_updates]

name=CentOS-$releasever - Updates

baseurl=http://127.0.0.1/centos/updates/$basearch/

gpgcheck=0

enabled=1

[CentOS_extras]

name=CentOS-$releasever - Extras

baseurl=http://127.0.0.1/centos/extras/$basearch/

gpgcheck=0

enabled=1

 


이상 끝...