Offline에서 yum.repo local 설정
오프라인 환경에서 yum package를 사용하려고 한다.
USB에 관련 파일을 담아 설정하는 방법으로 진행해보자
진행하기 전에 yum에 대해 먼저 알아본다.
Yum
- yum
- yum이란 Yellodog Update Modified의 약자로 레드헷 계열의 리눅스 배포판에서 사용하는 패키지 설치관리 도구이다.
- 사용한다면 rpm명령어가 해결하지 못했던 패키지 의존성 문제를 해결할 수 있다. (참고로 발음은 냠냠 소리를 뜻하는 “염”이라고 한다…)
- 패키지 의존성 : A 패키지를 설치 시 B 패키지를 먼저 설치 해야하는 것. (필요한 패키지를 먼저 설치
- 다만, yum 명령어는 패키지 저장소 서버로 부터 다운 받아 설치하게 되므로 인터넷이 연결되어 있을 때 빛을 발한다.
- 하지만 현 상황은 offline에서 사용해야 하는 상황이므로 사용하도록 한다.
- docker를 설치하거나 다른 것들을 설치 할 때 .rpm 명령으로 일일이 하지 않고 한번에 설치할 수 있어서 더 이득이다.
local.repo 설정 방법
- 먼저 Rhel을 다운 받은 .iso 파일을 살펴보면 BaseOS와 AppStream이라는 폴더가 있다.
- 저 두 폴더 내부에 Package와 repodata 이 두 폴더가 yum 기능을 사용할 수 있게 해준다
- 인터넷 연결이 가능한 PC에서 저 두 폴더를 USB에 담아 폐쇄망 PC로 마운트를 해준다
- USB Mount 과정 및 복사 과정
fdisk -l //연결되어 있는 USB 확인 (예를 들어 /dev/sdb1가 usb)
mkdir /mnt/usb //마운트 할 임의 폴더 생성
mkdir /home/BaseOS /home/AppStream //파일들을 복사할 폴더 생성
mount /dev/sdb1 /mnt/usb // /dev/sdb1의 usb를 /mnt/usb로 마운트
// /mnt/usb 파일 확인 후 작업 진행
cp /mnt/usb/BaseOS/* /home/BaseOS // /mnt/usb/BaseOS/*파일을 /home/BaseOS 폴더로 복사
cp /mnt/usb/AppStream/* /home/BaseOS // /mnt/usb/BaseOS/*파일을 /home/BaseOS 폴더로 복사
- 복사를 마치면 /etc/yum.repo.d 위치로 들어가서 /local.repo를 생성해준다
cd /etc/yum.repo.d
vi local.repo
- 내부에 스크립트를 아래 내용처럼 적어준다.
[BaseOS]
name = BaseOS
baseurl = file:///home/BaseOS/
gpgcheck = 0
enabled = 1
[AppStream]
name = AppStream
baseurl = file:///home/AppStream/
gpgcheck = 0
enabled = 1
- 스크립트의 내용은 다음과 같다
[저장소 이름]
name = 저장소 표시 이름
baseurl = 저장소 주소
gpgcheck = gpg 서명키 사용여부 (0 or 1)
//gpgkey = gpg 서명키를 사용한다면 서명키 주소
enabled = 활성화 여부 (0 or 1)
- 스크립트까지 작성하였으면 확인 작업을 해본다.
yum clean all
yum repolist
- 위 확인 테스트를 진행 시 BaseOS 와 AppStream이 목록에 나타나면 작업 성공이다.
Reference