본문으로 바로가기
반응형

원할한 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 /마운트 포인트

[root@ENG-OS-sample media]df -h
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

 

df -h 파티션 정보

 

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 디렉토리가 있는 부분을 작성해준다.

[root@ENG-OS-sample yum.repos.d]# vi local.repo

[local]
name=localrepository
baseurl=file:///media/cdrom/
enabled=1
gpgcheck=0

vi local.repo 생성 후 내용 입력

 

 

 

 

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

 

yum clean all

7. 명령어를 사용하여 yum list 확인 (설치 가능한 항목 확인)

명령어 : yum list 

[root@ENG-OS-sample yum.repos.d]# yum list

yum list

[root@ENG-OS-sample yum.repos.d]# yum grouplist

 

 

 

 

8. 이제 yum으로 RPM을 설치해보록 하겠습니다

  예시) yum install pakages명

[root@ENG-OS-sample yum.repos.d]# yum install ksh

 

yum을 이용한 패치지 설치

 

 

 

○ 번외 [파일 복사 후 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%]


 

craterepo rpm 설치

 

 

 

vi cp.repo 를 만들어 아래 내용을 작성합니다.

편의상 cp라고 이름을 명하였으나, 편하신 대로 만드시면 됩니다.

[root@ENG-OS-sample yum.repos.d]# vi cp.repo

[cp] 
name=cp
baseurl=file:///media/repo/cp/ 
enabled=1 
gpgcheck=0

패키지를 복사하여 사용할경우의 repo

createrepo 명령어를 사용하여 repodata를 생성합니다.

[root@ENG-OS-sample cdrom]# createrepo /media/repo/cp

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

createrepo 를 사용하여 repodata 생성

 

명령어를 사용하여 yum repository 확인

명령어 : yum clean all

 

[root@ENG-OS-sample yum.repos.d]# yum clean all

Loaded plugins: fastestmirror
Cleaning repos: cp local
Cleaning up list of fastest mirrors

 

 

이 후 패키지 설치를 진행하시면 됩니다.

업무에 참고가 되시길 바랍니다.