웹사이트 검색

RHEL 8에서 로컬 HTTP Yum/DNF 리포지토리를 생성하는 방법


소프트웨어 저장소 또는 'repo'는 Redhat Linux 배포용 RPM 소프트웨어 패키지를 보관하고 유지 관리하는 중앙 위치로, 사용자는 여기에서 Linux 서버에 패키지를 다운로드하고 설치할 수 있습니다.

저장소는 일반적으로 인터넷에서 여러 사용자가 액세스할 수 있는 공용 네트워크에 저장됩니다. 그러나 서버에 자신만의 로컬 저장소를 생성하고 단일 사용자로 액세스하거나 HTTP 웹 서버를 사용하여 로컬 LAN(근거리 통신망)의 다른 시스템에 대한 액세스를 허용할 수 있습니다.

로컬 저장소를 생성하면 소프트웨어 패키지나 업데이트를 설치하기 위해 인터넷 연결이 필요하지 않다는 장점이 있습니다.

YUM(Yellowdog Updater Modified) 또는 DNF(Dandified YUM)는 RPM(RedHat Package Manager) 기반 Linux 시스템용으로 널리 사용되는 소프트웨어 패키지 관리 유틸리티로, Red Hat/CentOS Linux에서 소프트웨어를 쉽게 설치할 수 있습니다.

이 문서에서는 설치 DVD 또는 ISO 파일을 사용하여 RHEL 8에 로컬 YUM/DNF 저장소를 설정하는 방법을 설명합니다. 또한 Nginx HTTP 서버를 사용하여 클라이언트 RHEL 8 시스템에서 소프트웨어 패키지를 찾고 설치하는 방법도 보여 드리겠습니다.

테스트 환경

Local Repository Server: RHEL 8 [192.168.0.106]
Local Client Machine: RHEL 8 [192.168.0.200]

1단계: Nginx 웹 서버 설치

1. 먼저 다음과 같이 DNF 패키지 관리자를 사용하여 Nginx HTTP 서버를 설치합니다.

dnf install nginx

2. Nginx가 설치되면 시작할 수 있으며, 부팅 시 서비스가 자동 시작되도록 활성화하고 다음 명령을 사용하여 상태를 확인할 수 있습니다.

systemctl start nginx
systemctl enable nginx
systemctl status nginx

3. 다음으로 방화벽에서 Nginx 포트 80443를 열어야 합니다.

firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --zone=public --permanent --add-service=https
firewall-cmd --reload

4. 이제 웹 브라우저에서 다음 URL로 이동하여 Nginx 서버가 실행되고 있는지 확인할 수 있으며 기본 Nginx 웹페이지가 표시됩니다.

http://SERVER_DOMAIN_NAME_OR_IP

2단계: RHEL 8 설치 DVD/ISO 파일 마운트

5. Nginx 문서 루트 디렉터리 /var/www/html/ 아래에 로컬 저장소 마운트 지점을 만들고 다운로드한 RHEL 8을 마운트합니다. /mnt 디렉토리 아래의 DVD ISO 이미지.

mkdir /var/www/html/local_repo
mount -o loop rhel-8.0-x86_64-dvd.iso /mnt  [Mount Download ISO File]
mount /dev/cdrom /mnt                       [Mount DVD ISO File from DVD ROM]

6. 그런 다음 ISO 파일을 /var/www/html/local_repo 디렉터리에 로컬로 복사하고 ls 명령을 사용하여 내용을 확인합니다.

cd /mnt
tar cvf - . | (cd /var/www/html/local_repo/; tar xvf -)
ls -l /var/www/html/local_repo/

3단계: 로컬 저장소 구성

7. 이제 로컬 저장소를 구성할 차례입니다. /etc/yum.repos.d/ 디렉터리에 로컬 저장소 구성 파일을 생성하고 표시된 대로 파일에 대한 적절한 권한을 설정해야 합니다.

touch /etc/yum.repos.d/local-rhel8.repo
chmod  u+rw,g+r,o+r  /etc/yum.repos.d/local-rhel8.

8. 그런 다음 즐겨 사용하는 명령줄 텍스트 편집기를 사용하여 편집할 파일을 엽니다.

vim /etc/yum.repos.d/local.repo

9. 다음 내용을 복사하여 파일에 붙여넣으세요.

[LocalRepo_BaseOS]
name=LocalRepo_BaseOS
metadata_expire=-1
enabled=1
gpgcheck=1
baseurl=file:///var/www/html/local_repo/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[LocalRepo_AppStream]
name=LocalRepo_AppStream
metadata_expire=-1
enabled=1
gpgcheck=1
baseurl=file:///var/www/html/local_repo/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

변경 사항을 저장하고 파일을 종료합니다.

10. 이제 다음 명령을 실행하여 로컬 저장소를 생성, 구성 및 관리하는 데 필요한 패키지를 설치해야 합니다.

yum install createrepo  yum-utils
createrepo /var/www/html/local_repo/

4단계: 로컬 저장소 테스트

11. 이 단계에서는 다음 명령을 사용하여 저장소에 보관된 임시 파일 정리를 실행해야 합니다.

yum clean all
OR
dnf clean all

12. 그런 다음 생성된 저장소가 활성화된 저장소 목록에 나타나는지 확인합니다.

dnf repolist
OR
dnf repolist  -v  #shows more detailed information 

13. 이제 로컬 저장소에서 패키지를 설치해 보십시오. 예를 들어 다음과 같이 Git 명령줄 도구를 설치하십시오.

dnf install git

위 명령의 출력을 보면 스크린샷에 표시된 대로 git 패키지가 LocalRepo_AppStream 저장소에서 설치되고 있습니다. 이는 로컬 저장소가 활성화되어 있고 제대로 작동하고 있음을 증명합니다.

5단계: 클라이언트 시스템에 로컬 Yum 저장소 설정

14. 이제 RHEL 8 클라이언트 시스템에서 로컬 저장소를 YUM 구성에 추가하세요.

vi /etc/yum.repos.d/local-rhel8.repo 

아래 구성을 복사하여 파일에 붙여넣습니다. baseurl을 서버 IP 주소 또는 도메인으로 바꿔야 합니다.

[LocalRepo_BaseOS]
name=LocalRepo_BaseOS
enabled=1
gpgcheck=0
baseurl=http://192.168.0.106

[LocalRepo_AppStream]
name=LocalRepo_AppStream
enabled=1
gpgcheck=0
baseurl=http://192.168.0.106

파일을 저장하고 로컬 YUM 미러 사용을 시작하세요.

15. 그런 다음 다음 명령을 실행하여 클라이언트 시스템의 사용 가능한 YUM 저장소 목록에서 로컬 저장소를 확인하세요.

dnf repolist

그게 다야! 이 문서에서는 설치 DVD 또는 ISO 파일을 사용하여 RHEL 8에서 로컬 YUM/DNF 저장소를 생성하는 방법을 보여주었습니다. 질문이나 의견이 있으시면 아래 피드백 양식을 통해 저희에게 연락해 주시기 바랍니다.