Information Security

22-1 소프트웨어(패키지) 관리하기 - RPM 본문

Linux

22-1 소프트웨어(패키지) 관리하기 - RPM

leeeeye321 2017. 10. 16. 03:10

RPM(RedHat Package Management) 패키지 관리 도구

 

-RPM 명령어 테스트를 위하여 CentOS DVD 이미지를 Server-A에 삽입

VMware -> Server-A -> Setting

 

DVD 이미지 파일 삽입

 

-프로그램을 패키지(rpm/설치파일)형태로 배포하면, rpm 명령어를 이용하여 설치가 가능하다.

 

-/dev/cdrom 장치 파일을 /mnt 마운트 포인트로 연결

iso9660

iso 이미지 파일을 마운트하여 사용하기 위한 타입

 

/mnt 디렉터리의 Packages 디렉터리로 이동

 

Packages 디렉터리에는 CentOS DVD-1 이미지에서 기본적으로 제공하고 있는 패키지 파일이 엄청 많이 저장되어 있다.

 

rpm 파일의 형식

패키지이름-버전.릴리즈.아키텍쳐.확장자

 

[버전]

253    Major 버전, 프로그램에 큰 변화가 있을 때 변경되는 숫자

1    Minor 버전, 프로그램에 작은 변화가 있을 때 변경되는 숫자

 

[릴리즈]

e16    Enterprise Linux 6 커널에서 사용할 수 있는 패키지(CentOS 6버전)

 

[아키텍쳐]

x86_64    64bit 운영체제에서 설치 가능한 패키지

i386    32bit 운영체제에서 설치 가능한 패키지

noarch    운영체제 아키텍쳐와 상관없이 설치 가능한 패키지

 

rpm 패키지 설치(-ivh)

-i(install)    설치

-v(verbose)    설치 과정 출력

-h(hash)    # 기호로 설치 과정 출력

 

X-Windows 환경에서 동작하는 터미널 프로그램인 xterm-253-1.e16.x86_64.rpm 파일을 설치하려 명령어를 입력했는데,

에러가 발생했다.

Failed dependencies : 의존성 오류

-> 프로그램이 동작하기 위해 필요한 코드를 모아둔 라이브러리(libXaw)가 존재해야 프로그램을 설치할 수 있다.

 

그래서 libXaw 라이브러리를 설치하려고 했다.

그런데 또 의존성 오류가 발생한다.

이번에는 libXpm 라이브러리가 존재해야 libXaw 라이브러리를 설치할 수 있다고 한다.

 

libXpm 라이브러리를 설치한다.

드디어 설치가 된다.

 

하지만 여기서 끝이 아니다.

아까 설치 못한 libXaw 라이브러리를 설치한다.

 

이제야 패키지 설치가 가능하다.

-> 의존성 문제를 모두 해결한 뒤에야 패키지를 설치할 수 있다.

 

VMware -> Server-A -> X-windows [프로그램] -> [시스템 도구] -> [터미널]

 

터미널을 실행하여 #xterm 명령어를 입력하여 xterm을 실행한다.

 

X-Windows 환경에서 동작하는 터미널을 실행했다.

 

의존성 오류를 무시하고 설치하기

[옵션]

--nodes    의존성 오류 무시하고 설치

--force    강제로 패키지 설치

 

이번엔 xsane 패키지를 설치하려고 했는데,

의존성 오류를 해결하기 위해서는 너무 많은 라이브러리들을 설치해야 한다.

 

그래서 --nodeps 옵션을 사용하여 의존성 오류를 무시하고 설치했다.

그런데 오류를 무시하고 설치했으므로 프로그램의 정상적인 동작을 보장하지는 않는다.

 

#rpm -Uvh [패키지명]

-기존에 설치가 되어 있는 패키지의 버전과 비교하여 설치하고자 하는 패키지가 최신 버전일 경우 업그레이드, 패키지가 없다면 설치를 진행

 

#rpm -q[옵션]

-패키지 정보 검색

a    시스템에 설치되어 있는 전체 패키지 목록 확인

f    파일이 포함되어 있는 패키지 명을 출력

i    패키지 상세 정보 확인

l    패키지가 설치한 파일의 목록(list) 출력

R    패키지의 의존성 확인

 

#rpm -qa [패키지명]

xterm 패키지 설치 확인

 

xterm 패키지 설치 확인

 

 xterm 패키지 상세 정보 확인

 

...

...

xterm 패키지가 설치한 파일의 목록 출력

 

/usr/bin/resize 파일이 포함되어 있는 패키지명을 출력

 

xterm 패키지의 의존성 확인

 

#rpm -e [패키지명]

-패키지 제거

 

xterm 패키지 제거

 

출력 결과가 없으므로 제거된 것 확인

 

figlet 패키지를 다운받아 설치해보기

인터넷에서 검색(figlet rpm)을 통하여 알맞은 버전의(el6.x86_64) rpm 파일을 다운 받는다.

파일을 Xshell로 Drag & Drop하면 파일이 전송된다.

(파일 전송 패키지가 없다면 #yum -y instll lrzsz를 통하여 설치)

 

figlet 패키지 설치

 

figlet 패키지 사용 방법(#figlet [하고싶은말]) 끝.