티스토리 뷰
[CentOS] Linux Package Management - RPM
RPM(Redhat Package Manager) 이란?
RPM은 Linux의 Package를 관리하는 도구로써 RPM Package 설치, 삭제, 업데이트를 할 수 있는 가장 기본적인 도구입니다.
RPM Package 설치 시 해당 Package가 필요로 하는 요소를 전부 사용자가 설치해야 하는 번거로움이 존재합니다.
RPM의 주요 단점으로는 의존성 문제가 있습니다. 예를 들어 Python 2.7 Package를 설치하고자 한다면 아래와 같이 의존성을 확인 할 수있습니다.
[root@rpm-test ~]# rpm -qR python-2.7.5-68.el7.x86_64 /usr/bin/python2.7 libc.so.6()(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libdl.so.2()(64bit) libm.so.6()(64bit) libpthread.so.0()(64bit) libpython2.7.so.1.0()(64bit) libutil.so.1()(64bit) python-libs(x86-64) = 2.7.5-68.el7 rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rtld(GNU_HASH) rpmlib(PayloadIsXz) <= 5.2-1 |
위와 같은 의존성 파일이 필요할 경우 의존성 파일이 어떠한 Package인지 확인하여 해당 Package를 설치해야 합니다.
- " find " 명령어로 의존성 Package 파일의 경로를 확인합니다.
- " rpm -qf [ Package 파일 경로 ] " 명령어로 해당 파일이 포함된 Pakcage 정보를 확인하여 설치합니다.
[root@rpm-test ~]# find / -name "*libc.so.6" /usr/lib64/libc.so.6 [root@rpm-test ~]# rpm -qf /usr/lib64/libc.so.6 glibc-2.17-222.el7.x86_64 |
RPM 사용방법
RPM Install
- 먼저 " wget [RPM Package 다운로드 URL] " 명령어를 사용하여 RPM Package 파일을 다운로드 받습니다.
root@rpm-test ~]# wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm --2018-06-21 16:11:07-- http://rpms.famillecollet.com/enterprise/remi-release-7.rpm Resolving rpms.famillecollet.com (rpms.famillecollet.com)... 195.154.241.117, 2001:bc8:33a1:100::1 Connecting to rpms.famillecollet.com (rpms.famillecollet.com)|195.154.241.117|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 15384 (15K) [application/x-rpm] Saving to: ‘remi-release-7.rpm’ 100%[============================================================>] 15,384 64.2KB/s in 0.2s 2018-06-21 16:11:08 (64.2 KB/s) - ‘remi-release-7.rpm’ saved [15384/15384] |
- " rpm -ivh [RPM Package] " 명령어를 사용하여 RPM Package를 설치합니다.
- " rpm -qa | grep [RPM Package] " 명령어를 사용하여 정상적으로 설치되었는지 확인합니다.
[root@rpm-test ~]# rpm -ivh remi-release-7.rpm warning: remi-release-7.rpm: Header V4 DSA/SHA1 Signature, key ID 00f97f56: NOKEY Preparing... ################################# [100%] Updating / installing... 1:remi-release-7.5-2.el7.remi ################################# [100%] [root@rpm-test ~]# rpm -qa | grep remi remi-release-7.5-2.el7.remi.noarch |
RPM 설치된 패키지 상세확인
- " rpm -qi [RPM Package] " 명령어를 사용하여 설치된 RPM Package의 상세한 정보를 확인할 수 있습니다.
[root@rpm-test ~]# rpm -qi httpd Name : httpd Version : 2.4.6 Release : 80.el7.centos.1 Architecture: x86_64 Install Date: Wed 25 Jul 2018 06:55:48 AM UTC Group : System Environment/Daemons Size : 9817285 License : ASL 2.0 Signature : RSA/SHA256, Tue 03 Jul 2018 02:31:55 PM UTC, Key ID 24c6a8a7f4a80eb5 Source RPM : httpd-2.4.6-80.el7.centos.1.src.rpm Build Date : Wed 27 Jun 2018 01:50:38 PM UTC Build Host : x86-01.bsys.centos.org Relocations : (not relocatable) Packager : CentOS BuildSystem <http://bugs.centos.org> Vendor : CentOS URL : http://httpd.apache.org/ Summary : Apache HTTP Server Description : The Apache HTTP Server is a powerful, efficient, and extensible web server. |
RPM Uninstall
- " rpm -ev [RPM Package] " 명령어를 사용하여 설치된 RPM Package를 삭제할 수 있습니다.
- RPM Package를 삭제 후 " rpm -qa [RPM Package] " 명령어를 사용하여 확인할 경우 정상적으로 삭제된 부분을 확인할 수 있습니다.
[root@rpm-test ~]# rpm -ev httpd Preparing packages... httpd-2.4.6-80.el7.centos.1.x86_64 [root@rpm-test ~]# rpm -qa httpd [root@rpm-test ~]# |
'[Server Story] > Linux' 카테고리의 다른 글
[CentOS] UEFI Kickstart 만들기(Hyper-V 2세대 - PXELinux) (0) | 2018.09.29 |
---|---|
[CentOS] Yum Repository(저장소) 추가 / 삭제 (0) | 2018.06.21 |
[CentOS] Linux Package Management - Yum (0) | 2018.06.19 |
[CentOS] Linux 반복 예약작업(스케줄러) - Crontab (1) | 2018.05.28 |
[Linux] LVM 구성 - 디스크 추가 LVM 구성 (3) | 2017.11.14 |