Computer >> 컴퓨터 >  >> 스마트폰 >> Linux

리눅스 RPM 패키지 관리 가이드: 설치부터 업그레이드, 삭제까지

RPM이란 무엇인가?

RPM(Red Hat Package Manager)은 Red Hat 리눅스 기반 배포판에서 기본으로 사용되는 패키지 관리 도구입니다. 리눅스 머신에서 소프트웨어를 손쉽게 설치, 업그레이드, 삭제할 수 있게 해주는 매우 유용한 도구입니다. 과거에는 모든 리눅스 패키지를 직접 컴파일해야 했지만, RPM 덕분에 그런 번거로움이 크게 줄었습니다. 지금부터 RPM으로 수행할 수 있는 기본 작업들을 하나씩 살펴보겠습니다.

설치된 모든 패키지 목록 확인하기

새 패키지를 설치하거나 기존 패키지를 업그레이드하기 전에, 해당 패키지가 이미 시스템에 설치되어 있는지 먼저 확인하는 것이 좋습니다. 다음 명령어로 설치된 모든 RPM 패키지 목록을 조회할 수 있습니다:

# rpm -qa

gawk-3.1.3-10.1
pax-3.0-9
krbafs-1.2.2-6
esound-0.2.35-2
perl-XML-Encoding-1.01-26
perl-Digest-SHA1-2.07-5

이렇게 출력된 목록은 양이 많아 상당히 복잡해 보일 수 있습니다. 이럴 때는 grep 명령어와 함께 사용하면 원하는 패키지만 필터링해서 검색할 수 있습니다. 예를 들어 특정 PHP 패키지가 설치되어 있는지 확인하려면 다음과 같이 실행합니다:

# rpm -qa | grep php

php-pdo-5.2.0-1.rhel4.ct
php-mbstring-5.2.0-1.rhel4.ct
php-mysql-5.2.0-1.rhel4.ct
php-imap-5.2.0-5
php-5.2.0-1.rhel4.ct
php-cli-5.2.0-1.rhel4.ct
php-gd-5.2.0-1.rhel4.ct

이제 어떤 패키지가 이미 설치되어 있는지 파악한 뒤, 설치·업그레이드·삭제 중 어떤 작업이 필요한지 판단할 수 있습니다.

패키지 설치 및 업그레이드

RPM 패키지를 구할 수 있는 대표적인 사이트로는 rpm.pbone.net과 RPM Find가 있습니다. .rpm 파일을 다운로드한 후에는 다음 명령어로 패키지를 설치할 수 있습니다:

# rpm -ivh package-name.rpm

기존에 설치된 패키지를 업그레이드하려면 아래 명령어를 사용합니다:

# rpm -Uvh package-name.rpm

RPM을 사용하다 보면 설치하려는 패키지가 다른 패키지를 먼저 요구한다는 오류 메시지를 자주 만나게 됩니다. 흔히 "의존성 지옥(dependency hell)"이라고 불리는 상황입니다. 이 경우 해당 패키지를 다운로드했던 사이트로 돌아가 의존성 패키지를 찾아 먼저 설치해 주어야 합니다.

패키지 삭제

RPM으로 패키지를 삭제하는 것도 설치나 업그레이드만큼 간단합니다. 다만 삭제하려는 패키지의 정확한 전체 이름을 확인해야 합니다. 앞서 소개한 목록 조회 명령어로 패키지의 전체 이름을 파악한 후 다음 명령어를 실행하세요:

# rpm -e package-name.rpm

삭제 작업 역시 의존성 문제가 발생할 수 있으므로 주의가 필요합니다. 삭제하려는 패키지에 의존하는 다른 패키지가 있다면 시스템에 문제가 생길 수 있습니다.

마무리 팁

최신 RHEL 계열 배포판(CentOS, Rocky Linux, Fedora 등)에서는 의존성 문제를 자동으로 해결해 주는 YUM이나 DNF 같은 상위 패키지 관리 도구를 사용하는 것이 일반적입니다. 하지만 RPM 기본 명령어를 익혀두면 개별 패키지를 더 세밀하게 제어할 수 있고, 문제 발생 시 원인을 진단하는 데도 큰 도움이 됩니다.