[RPM] 설치된 RPM패키지 삭제( 제거 ) 하기

 1. 이미 설치된 RPM 패키지를 삭제하려면 간단히 -e 옵션을 사용하면 됨.

 
 2. RPM 패키지 삭제의 가장 일반적인 방법

 – 패키지를 삭제하는 가장 간단한 방법은 rpm 명령어에 -e 옵션을 사용하면 됨.

 – rpm -e qouta-3.06-9

 3. RPM 패키지 삭제시 의존성문제 해경방법 #1 : 의존하는 패키지 선 삭제후 삭제하기

 – 패키지 삭제시 가장 흔하게 발생하는 에러가 ” 패키지 의존성 에러 ” 로 인한 패키지 삭제 실패임. 특정 패키지를 삭제할 때에 의존성문제로 인하여 패키지가 삭제되지 않을 경우에는 두가즤 해결방법이 있음.

 – 첫번째는 의존성문제를 해결한 후에 삭제하는 방법임. 의존성관계에 있는 패키지를 모두 삭제해 준 후에 삭제하고자하는 원래의 패키지를 삭제하는 것.

 – 두번째는 의존성문제를 무시하고 지정된 패키지만 삭제하는 방법임. 이방법은 –nodeps 옵션으로 간단히 해결할 수 있음.

 – 확실하게 불필요하다는 것을 확인하지 않은 상태에서 의존성 관계에 있는 모든 패키지를 삭제한다는 것은 자치 시스템 장애를 발생할 수 있음.

 4. RPM 패키지 삭제시 의존성문제 해결방법 #2 : 의존성 무시 삭제하기

 –
의존성 관계에 있는 모든 패키지들을 삭제한 후에 원래 삭제하고자 했던 패키지를 마지막에 삭제하는 방법이 있지만 이 방법으로
삭제를 하게되면 의존성관계를 파알하는 시간도 많이 소요될 뿐아니라 자칫 시스템에 꼭 필요한 패키지까지 삭제를 하게되는 잘못을
범하게 될 수도 있음.

 – 의존성 관계를 무시하고 삭제하고자하는 원래 패키지 하나만을 삭제하는 것이 보다 바람직할 것임.

 – 의존성 관계를 무시하고 살제하고자 한다면 –nodeps 옵션을 사용하면 됨.

[RPM] rpm 명령어로 패키지 업그레이드 및 설치하기 실무

 1. RPM 패키지를 설치할 때에 주로 -ivh 옵션을 사용하여 설치 함. 하지만 실제 실무에서는 -ivh 옵션 보다는 -Uvh 옵션을 사용하여 보다 안전하게 설치하는 방법을 사용함.

 – -U 옵션을 사용하여 설치하면 기존에 설치되어 있던 RPM 패키지의 파일들을 삭제하는 것이 아니라 ” 기존파일명.rpmsave ” 라는 파일명으로 보관한 후에 새롭게 설치하게 됨.

 –
-i 옵션이 패키지 설치시에 사용하는 옵션이라면 -U 옵션은 패키지 업그레이드에 사용하는 옵션임. -U 옵션을 독립적으로
사용하여도 패키지 업그레이드가 가능하지만 -Uvh 옵션을 함께 사용하여 보다 자세한 업그레이드 내역을 보여주면서 설치하도록 하는
것이 보다 일반적인 패키지 업그레이드 방식임.

 – -Uvh 옵션을 사용하여 패키지를 업그레이드 할 때에
설치하고자하는 패키지가 설치되어 있지않을 경우에는 설치를 하게 되고, 만약 하위버전이 설치되어 있을 경우에는 기존의 설치된
패키지 파일들을 ” 기존파일명.rpmsave ” 라는 파일명으로 보관한 후에 업그레이드 해주기 때문임.

 – -Uvh 옵션은 설치와 업그레이드를 자동으로 알아서 해주며 기존파일을 보관하므로 보다 안전한 설치방법이 되기 때문.

 –
-Uvh 옵션을 사용하여 업그레이드를 할 때에 이미 동일한 버전의 패키지가 설치되어 있다면 ” Package 패키지명 is
already installed ” 라는 메시지를 출력하면서 중복설치의 위험성을 사전에 차단할 수 있음.

 –
-Uvh 옵션으로 패키지를 업그레이드 할 때에 이미 상위버전이 설치되어 있다면 ” package 패키지명 ( which is
newer ) is already installed ” 라는 메시지를 출력하면서 시스템에 현재 패키지보다 상위버전이 이미
설치되어 있음을 알려줌.

 – -Uvh 옵션을 사용하면 패키지 의존성 문제가 발생하였을 경우에 ” failed dependencies ” 라는 메시지를 출력하면서 의존성 관계를 알려줌.

 2. RPM 패키지의 간단한 업그레이드 설치방법

 – rpm -U qouta-3.06-9.i386.rpm

 3. RPM 패키지의 가장 일반적인 업그레이드 설치방법

 – rpm -Uvh qouta-3.06-9.i386.rpm

 – 대부분의 실무관리자들은 -U 옵션보다는 -Uvh 옵션을 선호함.

 – -v 옵션 : 패키지 업그레이드 설치시에 자세한 설치상황을 알려 줌.

 – -h 옵션 : 설치과정을 해쉬문자( # ) 로 표시해 줌.

 4. 이미 설치된 중복패키지 문제 해결방법

 –
-Uvh 옵션으로 패키지를 업그레이드 할 경우에 업그레이드 하고자 하는 패키지가 이미 시스템에 설치되어 있을 경우에는 ”
package 패키지명 is aleady installed ” 라는 메시지와 함께 중복설치되지 않으므로 업그레이드 되지 않음.

 – 이런 경우 –replacepkgs 라는 옵션을 사용하면 설치하고자하는 패키지가 이미 시스템에 있는 경우라도 이를 무시하고 업그레이드 설치를 할 수 있음.

 5. 다른 패키지의 파일과 충돌문제 해결 방법

 – 패키지 업그레이드나 설치에서 문제가 되는 경우는 설치하고자하는 패키지의 파일이 이미 설치되어 있는 다름 패키지의 파일과 충돌( conflict ) 이 발생하는 경우도 있음.

 – 패키지 충돌( conflict ) 이 발생하는 경우에 이를 무시하더라도 설치를 해야한다면 –replacefiles 라는 옵션을 사용하면 됨.

 6. 중복과 충돌문제 발생시 무시하고 강제 설치하기

 – –force 옵션을 함께 사용

 –
업그레이드 설치를 하고자하는 패키지가 현재 시스템에 이미 설치되어 있어 중복이 되거나 또는 이미 설치되어 있는 다른 패키지의
일부 파일들과 충돌( conflict ) 이 발생하는 경우네는 업그레이드가 되지 않음. 앞의 두가지 옵션
–replacepkgs 옵션과 –replacefiles 옵션 그리고 –oldpackage 옵션을 동시에 사용하는 효과를 볼
수 있는 옵션이 –force 옵션임.

 7. 의존성문제 무시하고 설치하기

 – –nodeps 옵션을 사용.

 – –nodeps 옵션을 사용하면 패키지 의존성을 완전히 무시하고 지정한 패키지를 업그레이드 설치를 하게 됨.

[RPM] rpm 명령어로 패키지 설치하기 실무

 1. 리눅스 서버에서 특정 프로그램을 설치하기 위한 방법

 – 소스를 직접 컴파일하여 설치하는 방법

 – rpm 명령어로 패키지를 설치하는 방법

 – yum 명령어를 이용하여 설치하는 방법

 2. -i 옵션을 사용한 패키지 설치하기

 – RPM 을 설치하는 방법은 간단히 -i 옵션을 사용하면 됨.

 – rpm -i quota-3.06-9.i386.rpm

 3. -ivh 옵션을 사용한 패키지 설치하기

 – 실제 패키지설치에서는 -i 옵션만을 사용하여 설치하는 방법보다는 -ivh 옵션을 사용함.

 – rpm -ivh quota-3.06-9.i386

 –
RPM 패키지 설치시에 -v 옵션( verbose ) 을 사용하면 자세한 설치과정을 보여줌. 그리고 설치시에 -h 옵션을
사용하면 설치과정을 ” # ” 표시를 하면서 그 진행과정을 표시해 줌. 따라서 거의 대부분의 RPM 패키지 설치시에는 -ivh
옵션을 함께 사용함.

 4. 이미 설치된 패키지 무시하고 패키지 설치하기

 – 패키지 설치시에 –replacepkgs 옵션을 사용하면 현재 설치하고 있는 패키지가 이미 시스템에 설치되어 있을 경우라 하더라도 설치를 하게 됨.


이 옵션( –replacepkgs ) 은 이미 설치한 패키지의 설정이 잘못되어 동일한 패키지로 깨끗하게 새로 설치할 경우,
또는 기존에 설치된 패키지를 삭제과정없이 무시하고 새로 설치하려고 할 경우에 유용하게 사용되는 옵션임.

 – –replacepkgs 옵션 사용에서 주의해야 할 것은 기존의 패키지의 설정과 파일들이 모두 삭제되므로 주의해야함. 즉 완전히 새로운 패키지를 처음 설치한 환경으로 돌아가게 됨.

 5. 다른 패키지으 피아릭과 중복될 경우에 무시하고 설치하고 설치하기

 –
RPM 패키지를 설치할 때에 현재 설치하는 패키지의 파일중 어떤 하나와 이미 시스템에 설치되어 있는 다른 패키지의 하나가 중복이
되는 경우가 흔하지는 않지만 가끔씩 발생함. 실제로는 하나의 파일뿐 아니라 여러 개의 파일에서 중복되어 충돌이 발생할 수 있으며
동일한 패키지의 중복설치시에도 파일중복으로 충돌에러가 발생할 수 있음. 즉, ” 패키지명 conflicts with file
from 패키지명 ” 이라는 메시지를 출력하면서 설치가 되지 않음.

 – 현재 설치하려고자 하는 패키지의 일부 파일과 이미 설치되어 있는 다른 패키지의 일부 파일과 중복되어 설치가 되지 않을 경우에 –replacefiles 라는 옵션을 사용하면 기존의 파일을 무시하고 새파일로 설치하게 됨.

 6. 패키지중복 또는 다른 패키지의 파일과 충돌발생시 무시하고 설치하기

 – –force 옵션을 사용.

 –
–force 옵션은 –replacepkgs 옵션과 –replacefiles 옵션, 그리고 –oldpackage 라는
옵션을 모두 하용하는 것과 동일한 효과를 가지고 있음. 따라서 패키지 설치시에 발생할 수 있는 중복과 충돌, 버전문제로 인한
에러발생시에는 –force 옵션을 사용하므로서 해결할 수 있게 됨.

 – –oldpackage 옵션은 현재
설치하려고 하는 패키지의 버전이 이미 설치되어 있는 패키지의 버전보다 낮은 버전일 경우에 에러가 발생함. 현재 설치하고자하는
버전이 더 낮은 버전일 경우에 이를 무시하고 설치하도록 하는 옵션이 –oldpackage 옵션임.

 7. 패키지 의존성문제를 무시하고 패키지 설치하기

 –
패키지를 설치하면서 발생할 수 있는 가장 흔한 에러가 ” 패키지 의존성 에러 ” 임. ” 패키지 의존성 에러 ” 란 패키지를
설치하거나 삭제할 때에 발생하는 에러로서 어떤 패키지를 설치( 삭제 ) 하려고 할 때에 그 패키지가 정상적으로 설치되기 위해서는
다른 패키지를 먼저 설치( 삭제 )가 되어야만 하는 것을 의미함.

 – ” 패키지 의존성 에러 ” 를 무시하고 설치 또는 삭제를 할 수 있는 옵션이 –nodeps 라는 옵션임.

 –
–nodeps 옵션은 패키지 설치시에 사용하는 것은 바람직하지 않다고 할 수 있음. 왜냐하면 패키지 의존성이란 설치하고자하는
패키지의 정상적인 작동을 위해서는 다른 패키지가 설치되어야만 한다는 것을 의미하는데 –nodeps 옵션을 사용하여 이를
무시하고 패키지를 설치하여도 설치된 패키지가 정상적으로 작동하지 않을 가능성이 크기 때문.

 – 가능한 패키지 설치시에는 –nodeps 옵션을 사용하는 것을 자제하도록 바람. 반면, –nodeps 옵션은 이미 설치되어 있는 패키지를 제거( 삭제 ) 할 때에는 매우 유용하게 사용됨.

[RPM] 필요한 RPM 패키지 찾는 방법

 1.  리눅스 설치 CD 에서 찾는 방법

 – 필요한 패키지의 버전에 큰 문제가 없다면 리눅스 설치  CD 에 있는 RPM 을 이용하는 것이 가장 편리하고 안전한 방법이 될 수 있음.

 – mount -t iso9660 /dev/cdrom /mnt/cdrom
리눅스 CD 를 넣고 해당 device 를 mount 한다.

 – cd /mnt/cdrom/RedHat/RPMS/
리눅스 설치 CD 내에 RPM 패키지가 존재하는 디렉토리로 이동.

 – ls -l | grep “찾고자하는 패키지명”
grep 검색 기능을 이용하여 찾고자하는 패키지를 검색한다.

 2. 리눅스 서버에서 ftp 명령어로 FTP 사이트에 접속하여 필요한 RPM 패키지를 가져오는 방법

 – 대부분의 리눅스서버관리자들이 선호하는 방법

 3. 웹브라우저로 FTP 사이트에 접속하여 필요한 RPM 패키지를 찾아서 다운받는 방법

[RPM] RPM 패키지( Package )

 1. 패키지( Package ) 란?

 – 특정 프로그램이나 유틸리티 혹은 라이브러리를 개발하고 이것을 컴파일하여 바이너리형태로 제작한 후에 설치될 파일들의 디렉토리위치를 이미 지정하여 하나의 파일로 묶어놓은 것.

 – 특정 서비스를 위한 소프트웨어를 설치해야할 경우에 RPM 패키지 하나만을 가져와서 설치하면 그 서비스에 필요한 모든 실행파일들과 설정파일, 그리고 문서파일들이 정해진 위치에 모두 복사 됨.

 2. 패키지( Package ) 명명법

 – 리눅스 커널 패키지 : kernel-2.4.20-8-i686.rpm

 – 패키지이름-패키지버전-릴리즈버전-아키텍처버전.rpm
   kernel         –     2.4.20     –        8         –        i686        .rpm

 – 레드햇에서 사용되는 모든 패키지는 위와 같은 구조로 되어 있음.

 – 패키지 이름 : 패키지이름은 제작자에 의해 붙여진 이름으로 대부분은 특정 서비스를 나타내는 이름이거나 또는 특정 라이브러리를 의미하는 이름으로 붙이는 것이 관례임.

 – 패키지 버전 : 패키지의 버전을 의미함. 버전이 높을수록 최근에 배포된 것을 의미.

 –
릴리즈 버전 : 동일한 패키지이름의 동일한 패키지버전을 업데이트하여 배포할 때마다 새롭게 붙이는 버전임. 릴리즈버전 또한
높을수록 최근에 배포한 패키지임을 의미함. 릴리즈버전을 붙이는 이유는 주로 동일한 패키지에서 버그를 수정하였거나 간단한
업그레이드를 하였을 경우에 패키지버전을 높이지않고 릴리즈버전만 높여서 배포하기 때문.

 – 아키텍처버전 : 이
패키지의 설치가 가능한 컴퓨터 아키텍처를 의미. i686 이라함은 INTEL 아키텍쳐를 가진 컴퓨터에서 설치가능한 패키지임을
의미함. 여기에 올 수 있는 컴퓨터 아키텍처로는 알파시스템 아키텍처를 의미하는 alpha, 스팍시스템 아키텍처를 의미하는
sparc, 그리고 noarch 는 특정 아키텍처를 의미하지 않을 때 붙이는 것임.