[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 패키지 찾는 방법

[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 는 특정 아키텍처를 의미하지 않을 때 붙이는 것임.

[RPM] RPM 명령어의 실행명령어의 종류

1. RPM 명령어에는 여러가지 실행모드가 있음. 특정 패키지를 설치하는 명령어, 업그레이드하는 명령어, 제거하는 명령어, 질의하는 명령어, 검증하는 명령어, 패키지 제작 명령어 등이 있음.

– rpm 명령어의 기본 사용모드
용도                 |           사용모드       |            사용형식
————————————————————————————————————————————–
패키지설치              |             -i                   | rpm -i [옵션] 패키지명
패키지 업그레이드 |             -U                 | rpm -U [옵션] 패키지명
패키지 제거(삭제)  |             -e                 | rpm -e 패키지명
패키지 질의             |             -q                  | rpm -q [옵션] 패키지명
패키지 검증             |             -V                  | rpm -V [옵션] 패키지명
rpm -y [옵션] 패키지명
패키지 제작             |             -b                  | rpm -b [옵션] 패키지명
rpmbuild -b [옵션] 패키지명
—————————————————————————————————————————————

[RPM] 패키지( Package ) 관리 RPM 명령어

1. RPM 이란

– ” Redhat Package Manager ” 의 약어로서 여러가지 프로그램들과 유틸리티 어플리케이션들의 설치, 관리, 삭제, 업데이트를 할 수 있도록 레드햇리눅스에서 제공하는 패키지 관리 시스템이라고 할 수 있음.

– 레드햇에서 제공하는 모든 리눅스 프로그램들은 패키지( Package ) 라는 단위로 배포되고 있으며 레드햇리눅스 를 개발하고 배포하는 개발자들에 의해서 컴파일되어 일반사용자들에게 배포되는 것임.

– RPM 패키지 관리 명령어인 rpm 을 이용하여 이런 패키지들을 리눅스 시스템에 설치하거나 삭제 또는 업데이트등의 관리를 할 수 있음.