본문 바로가기

IT's Life/Linux

Linux RPM 패키지 설치, 제거 및 업그레이드 (rpm 명령)


이 절에서는 rpm 명령을 사용하여 RPM 바이너리 패키지를 설치, 제거 및 업그레이드하는 방법에 대해 설명합니다. 

아파치 프로그램을 설치하는 예제를 보자. 다음 장에서는 아파치 프로그램을 설치하기 위해 소스 패키지를 사용하는 방법도 소개하므로 독자는 소스 패키지와 RPM 패키지의 차이점을 직관적으로 느낄 수 있습니다.


RPM 패키지 기본 설치 경로

일반적으로 RPM 패키지는 시스템 기본 설치 경로를 사용하며 모든 설치 파일은 범주별로 표 1에 표시된 디렉토리로 분배됩니다.

표 1 RPM 패키지 기본 설치 경로

설치 경로 

의미 

/ etc / 

구성 파일 설치 디렉토리 

/ usr / bin /  

실행 가능한 명령 설치 디렉토리 

 / usr / lib /

프로그램이 사용하는 함수 라이브러리의 위치 

 / usr / share / doc /

기본 소프트웨어 수동 저장 위치 

 / usr / share / man /

도움말 파일 저장 위치 

RPM 패키지의 기본 설치 경로는 명령으로 쿼리됩니다. 

이 외에도 RPM 패키지는 설치 경로의 수동 설치를 지원하지만이 방법은 권장되지 않습니다. 설치 경로를 수동으로 지정하면 모든 설치 파일이 지정된 위치에 중앙에 설치되며 시스템에서 설치 경로를 쿼리하는 데 사용되는 명령이 사용되지 않습니다 (시스템에서 인식하도록 수동으로 구성해야 함). 


RPM 패키지와 달리 소스 패키지는 일반적으로 설치 경로를 수동으로 지정하여 설치합니다 (/ usr / local /에 설치하는 데 사용). 설치 경로가 다르기 때문에 동일한 아파치 프로그램의 소스 패키지와 RPM 패키지를 Linux 서버 에 설치할 수 있습니다 (하지만 동일한 80 포트를 점유해야하기 때문에 동시에 하나만 열 수 있습니다). 

실제로 서버는 거의 동시에 두 개의 아파치 프로그램을 포함하지 않으며, 관리자는 잘 관리되지 않으며 서버 디스크 공간을 너무 많이 차지합니다.


RPM 패키지 설치

RPM 설치를위한 명령 형식은 다음과 같습니다.

[root @ localhost ~] # rpm -ivh 패키지 전체 이름

패키지의 전체 이름이어야합니다. 패키지의 전체 이름을 명령 할 때는 경로에주의를 기울여야하며 소프트웨어 패키지는 CD에있을 수 있으므로 미리 장치를 마운트해야합니다. 

이 명령에서 각 옵션 매개 변수의 의미는 다음과 같습니다.

  • -i : 설치 (설치);
  • -v : 더 자세한 정보를 표시합니다 (자세한 정보).
  • -h : 인쇄 진행, 설치 진행률 표시 (해시);

예를 들어,이 명령을 사용하여 다음과 같이 아파치 패키지를 설치하십시오.

[root @ localhost ~] # rpm -ivh \ 

/mnt/cdrom/Packages/httpd-2.2.15-15.el6.centos.1.i686.rpm 

준비 중 ... 

########### ######### 

[100 %] 

1 : httpd 

################## 

[100 %]

두 100 %가 실제로 설치 될 때까지 첫 번째 100 %는 설치가 준비되었음을 의미합니다. 

이 명령은 또한 여러 패키지를 한 번에 설치할 수 있으며 패키지의 전체 이름을 공백으로 구분하면됩니다.

[root @ localhost ~] # rpm -ivh a.rpm b.rpm c.rpm

다른 설치 요구 사항이있는 경우 (예 : 종속성 여부에 관계없이 소프트웨어를 강제로 설치하는 경우) 다음 옵션을 사용하여 소프트웨어를 조정할 수 있습니다.

  • -nodeps : 종속 설치를 감지하지 않습니다. 소프트웨어가 설치되면 종속성을 감지하고 필요한 기본 소프트웨어가 설치되어 있는지 확인하고 설치되지 않은 경우 오류를보고합니다. 종속성에 관계없이 강제 설치를하려면이 옵션을 사용할 수 있습니다. 종속 설치를 감지하지 못하는 소프트웨어는 기본적으로 사용할 수 없으므로 권장하지 않습니다.
  • -replacefiles : 파일 설치를 교체하십시오. 패키지를 설치하려고하지만 패키지에 일부 파일이 이미있는 경우 일반 설치 중에 "파일이 이미 있습니다"오류가보고되어 소프트웨어가 설치되지 않습니다. 이 오류를 무시하고 설치를 덮어 쓰려면이 옵션을 사용하십시오.
  • -replacepkgs : 패키지 설치를 교체하십시오. 패키지가 이미 설치되어 있으면이 옵션을 반복적으로 설치할 수 있습니다.
  • -force : 강제 설치. 이미 설치되어 있는지 여부에 관계없이 다시 설치하십시오. 즉, -replacefiles 및 -replacepkgs의 합성입니다.
  • -test : 설치를 테스트합니다. 실제로 설치되지는 않고 종속성을 확인하십시오.
  • -prefix : 설치 경로를 지정합니다. 기본 설치 경로 대신 설치 소프트웨어의 설치 경로를 지정하십시오.

아파치 서비스 설치가 완료된 후 시작을 시도 할 수 있습니다.

[root @ localhost ~] # 서비스 서비스 이름 시작 | 중지 | 다시 시작 | 상태

각 매개 변수의 의미 :

시작 : 서비스를 시작하십시오.

중지 : 서비스를 중지합니다.

다시 시작 : 서비스를 다시 시작하십시오.

상태 : 서비스 상태를 봅니다.


예를 들면 다음과 같습니다.

[root @ localhost ~] # service httpd start # 아파치 서비스 시작

서비스가 시작된 후 포트 번호 80이 나타나는지 확인할 수 있습니다. 명령은 다음과 같습니다.

[root @ localhost ~] # netstat -tlun | grep 80 

tcp 0 0 ::: 80 ::: * 듣기

브라우저에서 Linux 서버의 IP 주소를 입력하여 아파치 서버에 액세스 할 수도 있습니다. 현재 아파치에서 웹 페이지가 작성되지 않으므로 그림 2와 같이 테스트 페이지 만 표시됩니다.

그림 2 아파치 테스트 페이지

RPM 패키지 업그레이드

다음 명령을 사용하여 RPM 패키지를 업그레이드하십시오.

[root @ localhost ~] # rpm -Uvh 패키지 전체 이름

-U (대문자) 옵션의 의미는 다음과 같습니다. 소프트웨어가 설치되지 않은 경우 소프트웨어를 직접 설치하고, 설치되지 않은 경우 최신 버전으로 업그레이드하십시오.

[root @ localhost ~] # rpm -Fvh 패키지 전체 이름

-F (대문자) 옵션의 의미는 다음과 같습니다. 소프트웨어가 설치되지 않은 경우 소프트웨어가 설치되지 않으며 업그레이드하려면 하위 버전을 설치해야합니다.


RPM 패키지 제거

RPM 패키지의 설치 제거는 패키지 간의 종속성을 고려합니다. 예를 들어 httpd 패키지를 먼저 설치 한 다음 httpd 함수 모듈 mod_ssl 패키지를 설치 한 다음 제거 할 때 먼저 mod_ssl을 제거한 후 httpd를 제거해야합니다. 그렇지 않으면 오류가보고됩니다.

소프트웨어 패키지는 같은 건물에서 언로드 및 해체되며, 뒷 표지의 원래 2 층과 3 층은 3 층에서 제거해야합니다.


종속성에 관계없이 RPM 소프트웨어를 제거하면 uninstall 명령을 실행하면 종속성 오류가 발생합니다. 예를 들면 다음과 같습니다.

[root @ localhost ~] # rpm -e httpd 

오류 : 실패한 종속성 : 

httpd-mmn = 20051115는 (설치된)에 필요합니다 mod_wsgi-3.2-1.el6.i686 

httpd-mmn = 20051115는 (설치된) php-5.3에 필요합니다 .3-3.el6_2.8.i686 

httpd-mmn = 20051115는 (설치된)에 필요합니다. mod_ssl-1 : 2.2.15-15.el6. 

centos.1.i686 

httpd-mmn = 20051115는 (설치된) mod_perl에 필요합니다 -2.0.4-10.el6.i686 

httpd = 2.2.15-15.el6.centos.1은 (설치된) httpd-manual- 

2.2.15-15.el6.centos.1 

에 필요합니다. (설치된) webalizer-2.21_02-3.3.el6.i686 

httpd는 (설치된) mod_ssl-1 : 2.2.15-15.el6.centos.1.i686 

httpd = 0 : 2.2.15-15.el6.centos에 필요합니다. .1은 (설치된) mod_ssl-1 : 2.2.15-15.el6.centos.1.i686에서 필요합니다.



RPM 패키지의 설치 제거는 매우 간단합니다. 다음 명령을 사용하십시오.

[root @ localhost ~] # rpm -e 패키지 이름

-e 옵션은 언로드를 의미하며 이는 첫 번째 지우기 문자입니다. 

RPM 패키지의 설치 제거 명령은 "-nocteps"옵션 사용을 지원합니다. 즉, 종속성을 발견하지 않고 직접 설치 제거 할 수 있지만이 조작으로 인해 다른 소프트웨어가 사용될 수 있으므로이 방법을 사용하지 않는 것이 좋습니다.