728x90
RPM이란?
- 'Red Hat Package Manager'의 약자
- 리눅스 시스템에서 소프트웨어를 설치, 업그레이드, 제거하는 데 사용되는 패키지 관리 시스템
- 윈도우의 .exe와 비슷한 설치파일이며, RPM의 확장명은 .rpm
RPM관련 명령어
- 설치 : # rpm -ivh 패키지명.rpm
-i : RPM 패키지 설치
-v : 설치 과정을 자세히 표시
-h : 설치 진행 과정을 해시 표시(#)로 화면에 출력 - 업그레이드 : # rpm -Uvh 패키지명.rpm
-U : 패키지 업그레이드 (설치되어 있지 않은 경우 설치해 줌.) - 삭제 : # rpm -e 패키지명
-e : 시스템에서 패키지를 제거 - 시스템에 설치된 RPM패키지 확인하기 : # rpm -qa
-qa : 시스템에 설치된 모든 RPM패키지 나열
하지만 RPM은 패키지를 설치할 때 필요한 다른 패키지에 대한 의존성 문제를 해결하지 못한다. 그래서 사용자들은 필요한 패키지를 직접 찾고 설치해야 한다는 번거로움이 있었다. 예를 들어 A 패키지를 설치하기 위해서 B 패키지가 필요할 경우, 사용자는 B패키지도 직접 찾아 설치해줘야 한다. 이와 같은 문제를 해결하기 위해서 나온 게 바로 YUM이다.
YUM이란?
- rpm 명령어의 패키지 의존성 문제를 해결하기 위해 나온 도구
- 'Yellowdog Updater Modified'의 약자
- RPM 기반 시스템에서 패키지를 관리하고 설치하는 데 사용되는 고급 패키지 관리 도구
- 패키지 설치 또는 업그레이드 시에 필요한 모든 종속성 패키지를 자동으로 찾아서 함께 설치해 줌
- 인터넷을 통하여 저장소(Repository)에서 필요한 파일을 가져와서 설치하는 방식
YUM관련 명령어
- 설치 : # yum install <패키지명>
- 업그레이드 : # yum update <패키지명>
- 삭제 : # yum remove <패키지명>
- 정보 확인 : # yum info <패키지명>
- 패키지 리스트 확인 : # yum list <패키지명>
- YUM 캐시 삭제 : # yum clean all
YUM 설정 파일
- /etc/yum.conf 파일 : 전반적인 Yum의 동작을 제어하는 데 사용되며, 특별히 변경할 필요 X
- /etc/yum.repos.d/ 디렉터리* : yum 명령어를 실행하면 이 디렉터리에 있는 설정 파일들을 기반으로 패키지를 가져온다.
$ /etc/yum.repos.d/CentOS-Base.repo
# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
[base]
name=CentOS-$releasever - Base
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#released updates
[updates]
name=CentOS-$releasever - Updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
- [base] : 원본 패키지
- [updates] : 업데이트 패키지
- [extras] : 추가 패키지
YUM 저장소 설정 파일 예시
아래의 예시처럼 로컬 저장소와 외부 저장소를 설정해 줄 수 있다. 로컬 경로에 원하는 패키지가 있는 경우 로컬에서 다운하고, 이외의 경우에는 외부 네트워크를 통해 CentOS 패키지 저장소에서 다운로드해 온다. 이렇게 설정하면 내부에서 패키지를 가져오는 속도는 외부에서 가져오는 속도보다 더 빠르며, 네트워크 비용도 절감할 수 있다는 장점이 있다.
$ vi /etc/yum.repos.d/example.repo
[local]
name=local
baseurl=file://<마운트 경로>
gpgcheck=0
[network]
name=Network
baseurl=http://mirrors.kernel.org/centos/7/os/x86_64/
gpgcheck=0
- [repository_name] : 저장소 이름 지정
- name : 저장소의 이름 지정
- baseurl : 저장소의 주소 지정, baseurl에 설정된 대로 YUM이 패키지를 다운로드 받음
- gpgcheck : 저장소에서 받은 패키지에 대한 GPG 체크 수행 여부
1로 설정하면 체크를 수행하고, 0으로 설정하면 체크를 수행하지 않음
728x90
'OS > Linux' 카테고리의 다른 글
| [Linux] iptables란 ? iptables를 통한 트래픽 제어 (0) | 2024.06.01 |
|---|---|
| [Linux] telnet이란? 텔넷 서버 구축부터 활용까지_통신 테스트 방법 (0) | 2024.05.26 |
| [Linux] 커널 헤더 설치 방법 (1) | 2024.04.27 |
| [Linux] rsync란? rsync로 디렉터리 동기화하기 (0) | 2024.03.29 |
| [xshell] 프라이빗 서버 세션 설정하기 _로그인 스크립트 활용 (0) | 2024.03.15 |