이전에 Local Repository를 만드는 방법에 대하여 글을 적었다. 한두대의 경우에는 쓸만하지만 여러대의 경우나 생성과 삭제를 반복하는 경우 사용하기 어렵다. 이럴 경우 네트워크상에 Remote Repository를 만들어두면 ISO를 올리는 작업없이 YUM으로 설치 및 업데이트가 가능하다.
ISO를 Repository로 설정하려면 외부에서 접근할 수 있도록 Yum을 이용하여 HTTP 서버를 설치한다.
sudo yum install httpd -y
설치하고 난 후 HTTP서버를 Enable하고 시작한다.
sudo systemctl enable httpd
sudo systemctl start httpd
외부에서 접근을 위해 방화벽에 http 포트를 등록한다.
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-service=http
테스트를 위해 index.html을 만든 후, "Apache on RHEL 7.8"을 입력한다.
sudo vi /var/www/html/index.html
앞선 과정이 정상적으로 수행되었다면, 다음과 같이 웹페이지에서 "Apache on RHEL 7.8"이 보일 것이다.
ISO에 있는 RPM들을 HTTP서버로 복사하자. 먼저 ISO를 마운트한다.
sudo mkdir -p /mnt/disc
sudo mount -o loop,ro rhel-server-7.8-x86_64-dvd.iso /mnt/disc
마운트된 ISO를 HTTP서버로 복사한다. 그 후, umount한다.
sudo cp -r /mnt/disc/ /var/www/html/
sudo umount /mnt/disc
Local Repository를 만드는 과정이랑 유사하다. 우선 Repository를 할 서버의 media.repo를 Repository를 설정할 서버로 복사한다.
(/var/www/html/disc/media.repo -> /etc/yum.repos.d/rhel7dvd.repo)
cat /var/www/html/disc/media.repo
복사한 repo파일의 아래에 다음과 같이 수정한다. 다른부분은 Local Repository를 설정할 때와 같지만 baseurl을 설치한 HTTP서버의 주소로 수정한다.
vi /etc/yum.repos.d/rhel7dvd.repo
[InstallMedia]
name=Red Hat Enterprise Linux 7.8
mediaid=1582647234.022611
metadata_expire=-1
gpgcheck=0
cost=500
enabled=1
baseurl="http://172.30.1.170/disc"
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
수정을 완료했으면 Yum으로 clean 및 Enable을 수행하여 정상 동작하는지 확인한다.
yum clean all
yum repolist enabled
앞서 Local Repository를 설정하는 방법을 응용하여 Remote Repository를 구성해보았다. 미래에 나에게 도움이 될 수 있기를 바란다.