VMware를 사용하여 yum 리포지토리 서버의 동작 확인을 시도했습니다.

자사 공부회에서, RPM 패키지의 관리 방법에 대해 학습했으므로, 여기에 활용 방법을 아웃풋 해 둔다.

우선, 어플리케이션의 동작 환경으로서 유저를 향하고 있는 Web 서버 이외는 보안적으로 외부에 접하지 않는 로컬 환경이 되어 있는 경우가 많다. (그림 1 참조)
[그림 1]


위와 같은 환경에서, 로컬 환경의 서버에 패치를 걸고 싶은 경우, 패키지를 다운로드한 DVD나 USB를 마운트해, 인스톨 하는 방법이나 yum 리포지터리 서버를 만들어, 거기로부터 최신의 패키지를 항상 취해 온다 방법이 있다.
여기서는 yum 리포지토리 서버의 설정을 간단하게 실시하고, 의사 환경에서 RPM 패키지를 yum으로 인스톨 하는 방법을 싣는다. (그림 2 참조)

[그림 2]


검증 환경



VMware에서 CentOS를 2대 시작하여 의사 yum ​​리포지토리 서버와 DB 서버로 검증

VMware Workstation 14 Player
CentOS Linux release 7.5.1804 (yum 리포지토리 서버)
· CentOS Linux release 7.5.1804 (DB 서버)

1. yum 리포지토리 서버 설정



■ 리포지토리 디렉토리 생성 및 rpm 패키지 저장



Apache의 HTTP 통신을 사용하여 RPM 패키지를 얻습니다. 다음 패키지 설치.
# yum install httpd
# yum install createrepo

그런 다음 검증을 위해 RPM 패키지를 다운로드합니다.
# cd /var/www/html
# mkdir repo
# yum --downloadonly --downloaddir=/var/www/html/repo update

위의 yum 옵션 --downloadonly을 사용하면 rpm 패키지를 설치하지 않고 다운로드 만 할 수 있습니다.
또한 --downloaddir=는 디렉토리 지정을 수행합니다. 지정하지 않으면 내 환경에서 다음 디렉토리에 다운로드되었습니다.

기본 디렉토리: /var/cache/yum/x86_64/7/updates/packages
사이트에서 직접 다운로드하고 싶은 경우는, 이하의 「RPM Search」보다, 패키지의 검색을 해 다운로드할 수도 있다.
RPM 검색

■ 리포지토리 생성



방금 설치한 createrepo 명령을 사용하여 yum 리포지토리 만들기
# createrepo /var/www/html/repo

이렇게하면 저장소 용으로 만든 repo 디렉토리에 repodata 디렉토리가 만들어집니다.

다음으로 리포지토리 정보를 추가하고 yum 리포지토리의 동작을 확인합니다. /etc/yum.repos.d에 다음 추가

YumRepo.repo
[YumRepo]
name=YumRepo
baseurl=file:///var/www/html/repo
gpgcheck=0

리포지토리 새로 고침
# yum clean all
yum list 명령으로 YumRepo 리포지토리가 추가되었는지 확인

2. 클라이언트 서버 (DB 서버) 설정 및 설치



그런 다음 설치할 서버의 /etc/yum.repos.d에 리포지토리 정보를 추가합니다. 다음과 같이 신규 파일로 작성. 파일명·타이틀은 기호로 설정.
※httpd는 미리 인스톨되어 있는 것으로 한다.

YumRepo.repo
[YumRepo]
name=YumRepo
baseurl=http://IPアドレス/repo
gpgcheck=0

리포지토리 새로 고침
# yum clean all

yum 리포지토리 서버에 확인용 index.html을 /var/www/html/에 작성해 두고 curl 명령으로 yum 리포지토리 서버와 http 통신이 가능한지 확인
# curl http://IPアドレス/index.html
yum list 명령으로 YumRepo 리포지토리가 추가되었는지 확인

실제로 RPM 패키지를 가져옵니다.
# yum --enablerepo=YumRepo install パッケージ名

리포지토리 이름에 YumRepo가 표시되어 설치되었음을 확인했습니다.

현장에서 구축할 때는, yum 리포지토리 서버가 절대로 외부의 환경과 접속된 상태가 되지 않도록 주의가 필요.
악의 있는 사용자로부터 이상한 소스가 들어간 rpm 패키지를 배치될 우려 등이 있다.

빠진 포인트



· yum 저장소 서버 SElinux가 활성화되어 있기 때문에 apache를 사용할 수 없으며 403 오류가 발생했습니다.
· http.conf의 DocumentRoot가 yum 리포지토리의 취득처로 지정한 패스와 달랐다

참고 자료



yum을 사용하여 패키지를 설치하지 않고 다운로드 만 수행

yum 리포지토리 서버 구축 방법

좋은 웹페이지 즐겨찾기