[Linux] Rocky Linux 9.5 ISO를 이용한 로컬 저장소(Local Repository) 구성






1. 개요

  • Rocky Linux 9.5 환경에서 DVD ISO 파일을 활용한 로컬 저장소(Local Repository)를 구성하는 방법을 소개합니다.
  • 네트워크 연결 없이도 패키지를 설치할 수 있도록 ISO를 마운트하고 YUM/DNF 저장소로 등록하는 전체 과정을 명령어 중심으로 다룹니다.



2. 버전

  • Rocky Linux 9.5



3. 설명




3-1. 레포지토리(Repository)란?

  • 레포지토리는 소프트웨어 패키지를 보관한 공간입니다.
  • RHEL 계열에서는 YUM/DNF 명령어가 이를 통해 패키지를 설치/업데이트합니다.
  • 일반적으로 인터넷에 연결된 원격 저장소를 사용하지만, 로컬 저장소도 구성 가능합니다.



3-2. 로컬 레포지토리란?

  • 로컬 레포지토리는 인터넷 연결 없이도 사용할 수 있는 저장소입니다.
  • 보통 ISO 파일이나 내부 서버에 저장된 패키지를 사용하여 구성합니다.
  • 설치 미디어(CD/DVD/ISO)를 마운트하여 로컬 디스크에서 직접 패키지를 가져옵니다.
  • 주로 다음과 같은 상황에서 유용합니다:
    • 내부망/폐쇄망 서버
    • 대규모 설치 자동화 환경
    • 공공기관/보안망 등 인터넷 차단 시스템



3-3. .repo 파일이란?

  • .repo 파일은 DNF/YUM 명령어가 사용할 저장소 정보를 담는 구성 파일입니다.
  • 위치: /etc/yum.repos.d/ 디렉토리 내에 존재
  • 각 .repo 파일은 1개 이상의 저장소 블록으로 구성되며, 각 블록은 다음 형식을 따릅니다.
항목설명
[repository-id]저장소 식별자 (예: [rocky-local])명령어에서 이 이름으로 참조함
name저장소 이름 (설명용)dnf repolist 출력 시 보임
baseurl저장소의 실제 경로http://, 또는 file:/// 지원예: file:///rocky95/BaseOS
enabled저장소 사용 여부1: 사용함, 0: 사용 안 함
gpgcheckGPG 서명 확인 여부1: 확인함, 0: 확인 안 함
gpgkey패키지 검증에 사용할 GPG 키 파일 경로예: file:///rocky95/RPM-GPG-KEY-rockyofficial



3-4. .repo 파일 주요 항목 설명

항목설명
[repository-id]저장소 식별자 (예: [rocky-local])명령어에서 이 이름으로 참조함
name저장소 이름 (설명용)dnf repolist 출력 시 보임
baseurl저장소의 실제 경로http://, 또는 file:/// 지원예: file:///rocky95/BaseOS
enabled저장소 사용 여부1: 사용함, 0: 사용 안 함
gpgcheckGPG 서명 확인 여부1: 확인함, 0: 확인 안 함
gpgkey패키지 검증에 사용할 GPG 키 파일 경로예: file:///rocky95/RPM-GPG-KEY-rockyofficial



3-5. /etc/fstab 란?

  • /etc/fstab은 시스템 부팅 시 자동으로 마운트할 파일시스템을 정의하는 설정 파일입니다.
  • 로컬 저장소로 사용할 ISO 파일도 여기에 등록하면 재부팅 시마다 수동 마운트 없이 자동으로 연결됩니다.
  • 한 줄에 하나의 마운트 항목을 정의하며, 각 필드는 공백 또는 탭으로 구분합니다.



3-6. /etc/fstab 항목 설명

필드 번호항목설명
1장치 또는 ISO 경로마운트할 대상. 예: /root/Rocky-9.5-x86_64-dvd.iso
2마운트 지점ISO를 연결할 디렉토리. 예: /rocky95
3파일시스템 유형ISO 파일은 보통 iso9660 사용
4마운트 옵션loop,ro → loop 장치로 읽기 전용 마운트
5dump 여부백업 도구 dump가 백업할지 여부 (보통 0)
6fsck 순서부팅 시 파일 시스템 점검 순서 (ISO의 경우 0)



4. Mount




4-1. ISO 마운트 포인트 생성

# mkdir /rocky95



4-2. ISO 마운트

# mount Rocky-9.5-x86_64-dvd.iso /rocky95/



4-3. 마운트 확인

# df -Th


출력 예시:

Filesystem     Type      Size  Used Avail Use% Mounted on<br>/dev/loop0     iso9660    11G   11G     0 100% /rocky95



5. Repository




5-1. 기존 레포지토리 백업

# mkdir /etc/yum.repos.d/repo_backup
# mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/repo_backup/



5-2. 로컬 레포지토리 추가 (BaseOS, AppStream)

# dnf config-manager --add-repo file:///rocky95/BaseOS
# dnf config-manager --add-repo file:///rocky95/AppStream



5-3. GPG 체크 비활성화

# echo "gpgcheck=0" >> /etc/yum.repos.d/rocky95_BaseOS.repo
# echo "gpgcheck=0" >> /etc/yum.repos.d/rocky95_AppStream.repo



5-4. DNF 캐시 초기화 및 메타데이터 생성

# dnf clean all
# dnf makecache



5-5. 저장소 확인 및 패키지 설치 테스트

# dnf repolist
# dnf list available net-tools
# dnf -y install net-tools



5-6. 패키지 설치 확인

# rpm -qa | grep net-tools


출력 예시:

net-tools-2.0-0.64.20160912git.el9.x86_64



5-7. fstab에 ISO 자동 마운트 등록

# echo "/root/Rocky-9.5-x86_64-dvd.iso /rocky95 iso9660 loop,ro 0 0" >> /etc/fstab



5-8. fstab에 ISO 자동 마운트 등록 확인

# cat /etc/fstab | grep rocky95


출력 예시:

/root/Rocky-9.5-x86_64-dvd.iso /rocky95 iso9660 loop,ro 0 0



5-9. 재부팅 후 마운트 상태 확인

# reboot


# df -Th


출력 예시:

Filesystem     Type      Size  Used Avail Use% Mounted on<br>/dev/loop0     iso9660    11G   11G     0 100% /rocky95



댓글 남기기