원할한 RPM 설치를 위해, Local yum Repository 설정을 진행합니다.
해당 방법은 rpm 들을 별도의 공간으로 복사할 필요 없이, CD를 사용한 방법입니다.
번외로 CD에서 파일들을 추출하여, CD없이 Localyum을 사용하는 방법은 맨 아래 가이드
하도록 하겠습니다.
○ 테스트 진행 사양
- CentOS 7.8 64bit
○ Local Repository를 사용하는 이유
- 설치 CD를 가지고 있으나, 네트워크를 사용할 수 없는 경우
- rpm 설치시 의존성으로 인해, 의존성(dependencies) rpm 까지 설치가 필요한경우
1. CD mount 상태에서 진행
마운트 방법 : cd 삽입시 자동 인식 or mount /마운트 포인트
Filesystem Size Used Avail Use% Mounted on
devtmpfs 7.9G 0 7.9G 0% /dev
tmpfs 7.9G 0 7.9G 0% /dev/shm
tmpfs 7.9G 9.5M 7.9G 1% /run
tmpfs 7.9G 0 7.9G 0% /sys/fs/cgroup
/dev/mapper/cen tos-root 284G 1.6G 282G 1% /
/dev/sda1 506M 131M 376M 26% /boot
tmpfs 1.6G 0 1.6G 0% /run/user/0
/dev/sr0 9.6G 9.6G 0 100% /media/cdrom

2. CD 마운트 상태 확인 및 Packages 디렉토리 위치 확인

3. Local Repository 경로 생설 및 설정
- 가이드는 기본 경로를 활용하여 작성하였습니다.
[root@ENG-OS-sample /]# cd /etc/yum.repos.d
[root@ENG-OS-sample yum.repos.d]# pwd
/etc/yum.repos.d
[root@ENG-OS-sample yum.repos.d]# ls -al
합계 48
drwxr-xr-x. 2 root root 220 4월 3 00:56 .
drwxr-xr-x. 76 root root 8192 9월 17 22:47 ..
-rw-r--r--. 1 root root 1664 4월 8 07:01 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 4월 8 07:01 CentOS-CR.repo
-rw-r--r--. 1 root root 649 4월 8 07:01 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 630 4월 8 07:01 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 4월 8 07:01 CentOS-Sources.repo
-rw-r--r--. 1 root root 7577 4월 8 07:01 CentOS-Vault.repo
-rw-r--r--. 1 root root 314 4월 8 07:01 CentOS-fasttrack.repo
-rw-r--r--. 1 root root 616 4월 8 07:01 CentOS-x86_64-kernel.repo
4. 기본 repo 파일을 모두 삭제 하거나, 다른 디렉토리로 이동시켜 주세요
[root@ENG-OS-sample yum.repos.d]# mkdir backup
[root@ENG-OS-sample yum.repos.d]# mv CentOS-* backup
[root@ENG-OS-sample yum.repos.d]# ls -al
합계 12
drwxr-xr-x. 3 root root 20 9월 21 18:41 .
drwxr-xr-x. 76 root root 8192 9월 17 22:47 ..
drwxr-xr-x. 2 root root 220 9월 21 18:41 backup
[root@ENG-OS-sample yum.repos.d]# pwd
/etc/yum.repos.d
5. vi local.repo 를 생성한후, 아래 내용을 입력한다.
baseurl 부분은 Package 디렉토리가 있는 부분을 작성해준다.
[local]
name=localrepository
baseurl=file:///media/cdrom/
enabled=1
gpgcheck=0


6. 명령어를 사용하여 yum repository 확인
명령어 : yum clean all
[root@ENG-OS-sample yum.repos.d]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: local
Cleaning up list of fastest mirrors

7. 명령어를 사용하여 yum list 확인 (설치 가능한 항목 확인)
명령어 : yum list
[root@ENG-OS-sample yum.repos.d]# yum list


8. 이제 yum으로 RPM을 설치해보록 하겠습니다
예시) yum install pakages명

○ 번외 [파일 복사 후 yum repository 설정]
createrepo 명령어를 사용하기 위해, 아래 패키지를 설치 합니다.
4개의 rpm 이 필요합니다.
[root@ENG-OS-sample cdrom]# cd Packages
[root@ENG-OS-sample cdrom]# rpm -ivh createrepo* libxml2-python* python-deltarpm* deltarpm*
Updating / installing...
1:deltarpm-3.6-3.el7 ################################# [ 25%]
2:python-deltarpm-3.6-3.el7 ################################# [ 50%]
3:libxml2-python-2.9.1-6.el7.4 ################################# [ 75%]
4:createrepo-0.9.9-28.el7 ################################# [100%]

vi cp.repo 를 만들어 아래 내용을 작성합니다.
편의상 cp라고 이름을 명하였으나, 편하신 대로 만드시면 됩니다.
[cp]
name=cp
baseurl=file:///media/repo/cp/
enabled=1
gpgcheck=0

createrepo 명령어를 사용하여 repodata를 생성합니다.
Spawning worker 0 with 2518 pkgs
Spawning worker 1 with 2518 pkgs
Spawning worker 2 with 2517 pkgs
Spawning worker 3 with 2517 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete

명령어를 사용하여 yum repository 확인
명령어 : yum clean all
Loaded plugins: fastestmirror
Cleaning repos: cp local
Cleaning up list of fastest mirrors
이 후 패키지 설치를 진행하시면 됩니다.
업무에 참고가 되시길 바랍니다.