본문 바로가기
OS 운영체제/LINUX

yum (패키지 설치 관리 명령어)

by yororing 2024. 4. 23.

01 yum이란

1. 정의

  • 'Yellodog Update Modified'의 약자
  • Redhat 계열의 Linux 배포판에서 사용되는 프로그램 (패키지) 설치 관리 도구
  • 패키지 의존성 문제 처리 가능 (rpm 명령어가 해결하지 못했던 패키지 의존성 문제 해결)
    • 패키지 의존성이란: 한 패키지가 다른 패키지의 기능을 사용하기 때문에 패키지들을 순서대로 설치해야 하는 것

02 yum 사용 방법

  • 패키지 저장소 서버는 /etc/yum.conf /etc/yum.repos.d/ 디렉터리의 저장소 파일을 통해 관리됨

1. 인터넷 연결된 경우

1) /etc/yum.repos.d/에 레포지토리명.repo 파일에 다음을 입력

# CentOS 7.9을 사용할 경우
[base]
name=CentOS-7 - Base
baseurl=http://mirror.centos.org/centos/7/os/x86_64/
gpgcheck=0

#released updates
[update]
name=CentOS-7 - Updates
baseurl=http://mirror.centos.org/centos/7/updates/x86_64/
gpgcheck=0

2) 활성화된 레포지토리 확인

# yum repolist all

2. 인터넷 미연결 경우 - ISO 파일 사용

0) ISO 이미지 및 ISO 파일이란

  • 폴더 및 파일 계층을 포함하여 광 디스크의 동일한 내용을 포함하는 단일 전자 파일
  • ISO 이미지는 대상 컴퓨터에서 CD 또는 DVD를 굽기 위해 사용
  • 네트워크를 통해 디스크 데이터를 배포하기 위해 생성됨?
  • ISO 이미지 내의 파일은 압축되지 않음
  • 식별하고 원본 파일/폴더 구조로 디스크를 구우려면 ISO 유틸리티 프로그램 필요
  • ISO 파일은 ISO-9660 표준을 기반으로 하는 일반적인 CD 또는 DVD 디스크 이미지 형식으로, 종종 CD 및 DVD 사본을 만드는 데 사용됨
  • ISO 파일에는 원본 디스크의 데이터와 정확히 복제된 데이터가 및 파일 시스템 정보 (예. 디렉터리 구조, 파일 속성, 부트 코드 등)가  포함됨

1) 임시적 적용 - 재부팅 시 다시 원상복귀됨

1- /opt/에 (또는 원하는 아무 디렉토리에) ISO 파일 복사

2- mount 폴더 생성

# mkdir /mnt/disc

3- mount 적용

# mount iso파일경로 마운트할목적폴더경로
# mount /opt/rhel-server-7.6-x86_64-dvd.iso /mnt/disc

4- mount 확인

# cd mount된파일경로
# cd /mnt.disc

# ls
addons EFI EULA extra_files.json GPL images isolinux LiveOS media.repo Packages
repodata RPM-GPG-KEY-redhat-beta RPM-GPG-KEY-redhat-release TRANS.TB
위와 같은 파일들이 생성되어있으면 mount가 적용된 것

# cd /mnt/
# df -h
Filesystem	Size	Used	Avail	Use%	Mounted on
tmpfs		3.2G	0	3.2G	0%	/run/user/0
/dev/loop0	4.2G	4.2G	0	100%	/mnt/disc
마운트 된 파일시스템, 크기, 사용량, 가능한공간, 사용량(%), mount된 폴더 확인 가능

5- yum repository에 등록

# vi /etc/yum.repos.d/원하는레포지토리명.repo
# vi /etc/yum.repos.d/myrepo.repo

다음과 같이 입력 후 저장 (esc 누른 후 :wq!로 저장 후 나가기)
[InstallMedia]
name=redhat7.6
enable=1
baseurl=file:///mnt/disc/
gpgcheck=0

6- 활성화된 레포지토리 확인

# yum repolist all

2) 영구적 적용 - 재부팅 시 mount 적용되어있음

1- mount 설정 파일 (/etc/fstab)에 설정

# vi /etc/fstab
<마운트 대상 파일>	<마운트할 폴더> <예. iso9660> <예. loop> 0 0
/opt/ISO/rhel-server-7.6-x86_64-dvd.iso	/mnt/iso iso9660 loop 0 0

2- mount 적용

# mount -a

3- mount 확인

# cd mount된파일경로
# cd /mnt.disc

# ls
addons EFI EULA extra_files.json GPL images isolinux LiveOS media.repo Packages
repodata RPM-GPG-KEY-redhat-beta RPM-GPG-KEY-redhat-release TRANS.TB
위와 같은 파일들이 생성되어있으면 mount가 적용된 것

# cd /mnt/
# df -h
Filesystem	Size	Used	Avail	Use%	Mounted on
tmpfs		3.2G	0	3.2G	0%	/run/user/0
/dev/loop0	4.2G	4.2G	0	100%	/mnt/disc
마운트 된 파일시스템, 크기, 사용량, 가능한공간, 사용량(%), mount된 폴더 확인 가능

4- yum repository에 등록

# vi /etc/yum.repos.d/원하는레포지토리명.repo
# vi /etc/yum.repos.d/myrepo.repo

다음과 같이 입력 후 저장 (esc 누른 후 :wq!로 저장 후 나가기)
[InstallMedia]
name=redhat7.6
enable=1
baseurl=file:///mnt/disc/
gpgcheck=0

 

5- 활성화된 레포지토리 확인

# yum repolist all

 

참조

  1. yum --help
  2. https://dololak.tistory.com/331
  3. https://access.redhat.com/sites/default/files/attachments/rh_yum_cheatsheet_1214_jcs_print-1.pdf 
  4. ISO 파일이란 https://chunggaeguri.tistory.com/entry/System-ISO-%ED%8C%8C%EC%9D%BC%EC%9D%B4%EB%9E%80 
  5.  
  6.