본문 바로가기

Linux/Exercise

RPM 패키지 설치 및 삭제 - 연습용

RPM 패키지 설치

RPM을 이용하여 rdesktop 패키지를 설치해 보자.
- rdesktop은 윈도우 터미널 서비스에 접속하기 위한 원격 데스크탑 프로토콜 클라이언트 프로그램이다.


# cd Desktop
- 다운 받은 폴더로 이동한다. 기본적으로 X-Window 바탕화면에 저장되므로 /root/Desktop 폴더로 이동한다.

# ls  ---> rdesktop 패키지 파일 확인
-rw-r--r-- 1 root root 119721 11월 14 10:09 rdesktop-1.4.1-4.i386.rpm

# rpm -q rdesktop 
rdesktop 패키지가 설치되어 있지 않습니다 
# rpm -qa | grep rdesktop
- 패키지가 설치되어 있는지 확인한다.

# rpm -Uvh rdesktop-1.4.1-4.i386.rpm 
준비 중...               ########################################### [100%]
   1:rdesktop               ########################################### [100%]
- rpm의 업그레이드 설치 모드를 이용하여 설치한다.

# rpm -q rdesktop
rdesktop-1.4.1-4
# rpm -qi rdesktop 
Name        : rdesktop                     Relocations: (not relocatable)
Version     : 1.4.1                             Vendor: CentOS
Release     : 4                             Build Date:
Install Date:       Build Host: builder1.centos.org
Group       : User Interface/Desktops       Source RPM: rdesktop-1.4.1-4.src.rpm
Size        : 279054                           License: GPL
Signature   : DSA/SHA1, 2007년 04월 04일 (수) 오전 09시 27분 19초, Key ID a8a447dce8562897
URL         : http://www.rdesktop.org/
Summary     : Windows 터미널 서버를 위한 원격 데스크트탑에 사용되는 X 클라이언트
Description :
rdesktop는 Windows NT 터미널 서버와 Windows 2000 & 2003 터미널 서비스에
사용되는 공개 소스 클라이언트로서 대화식 RDP (원격 데스크탑 프로토콜)을 사용하여
사용자의 NT 데스크탑을 보여줍니다. Citrix ICA와는 달리 어떠한 서버 확장도
필요로 하지 않습니다.
- 설치된 rpm패키지의 자세한 정보를 확인할 수 있다.

#rdesktop 10.10.33.74
-윈도우에서 원격데스크탑 설정을 하고 방화벽 설정을 해제하고 테스트 한다.

------------------------------------------------------------------------------------------------------------------------

RPM 패키지 삭제 및 재설치

Sendmail 프로그램을 삭제 후 재설치 해 보자.


Sendmail 삭제

# rpm -e sendmail
오류: Failed dependencies:
        /usr/sbin/sendmail is needed by (installed) redhat-lsb-3.1-12.3.EL.el5.centos.i386
        smtpdaemon is needed by (installed) mutt-1.4.2.2-3.0.2.el5.i386
        smtpdaemon is needed by (installed) fetchmail-6.3.6-1.1.el5.i386
        smtpdaemon is needed by (installed) mdadm-2.6.4-1.el5.i386
        sendmail = 8.13.8-2.el5 is needed by (installed) sendmail-cf-8.13.8-2.el5.i386
- sendmail 프로그램을 삭제하려고 하면 의존성 실패와 함께 삭제하게 위해 필요한 패키지들을 알려준다.

# rpm -e redhat-lsb
#rpm -e mutt
# rpm -e fetchmail
# rpm -e sendmail-cf
# rpm -e mdadm
- 의존성 검사 결과에 나타난 패키지들을 삭제한다.

# rpm -e sendmail
경고: /var/log/mail/statistics(이)가 /var/log/mail/statistics.rpmsave(으)로 저장되었습니다
# rpm -q sendmail
sendmail 패키지가 설치되어 있지 않습니다.
- 의존성 검사 결과에 나타난 패키지들을 삭제하자 sendmail이 지워진 것을 확인할 수 있다.

Sendmail 재설치

# cd Desktop

# ls
-rw-r--r-- 1 root root 646709 11월 14 10:24 sendmail-8.13.8-2.el5.i386.rpm
-rw-r--r-- 1 root root 318671 11월 14 10:25 sendmail-cf-8.13.8-2.el5.i386.rpm

# rpm -Uvh sendmail-8.13.8-2.el5.i386.rpm
준비 중...               ########################################### [100%]
   1:sendmail               ########################################### [100%]

# rpm -q sendmail
sendmail-8.13.8-2.el5
-rpm의 업그레이드 설치 모드를 이용하여 설치 후 설치된 패키지를 확인한다.
#

# ls
-rw-r--r-- 1 root root 646709 11월 14 10:24 sendmail-8.13.8-2.el5.i386.rpm
-rw-r--r-- 1 root root 318671 11월 14 10:25 sendmail-cf-8.13.8-2.el5.i386.rpm

# rpm -Uvh sendmail-cf-8.13.8-2.el5.i386.rpm
준비 중...               ########################################### [100%]
   1:sendmail-cf            ########################################### [100%]

# rpm -q sendmail-cf
sendmail-cf-8.13.8-2.el5


------------------------------------------------------------------------------------------------------------------------

Vsftpd 소스 RPM 패키지를 이용한 설치

소스 RPM 패키지를 이용하여 vsftpd 패키지를 설치해 보자.
- src.rpm 이라고 적힌 파일이 소스파일 형태의 rpm패키지 이다.


# cd Desktop

# ls
-rw-r--r-- 1 root root 191201 11월 14 10:56 vsftpd-2.0.5-12.el5.src.rpm

# rpm -Uvh vsftpd-2.0.5-12.el5.src.rpm
- 설치는 일반 rpm 패키지와 같지만 실제로는 설치되는 것이 아니라 컴파일이 가능한 spec파일이 생성된다.

# cd /usr/src/redhat/SPECS
- 제대로 spec파일이 생성되었는지 확인한다.

# ls
-rw-r--r-- 1 root root 13889 12월 13  2007 vsftpd.spec
# vi vsftpd.spec
- spec 파일을 확인한다.

# rpmbuild -bb vsftpd.spec
- spec 파일을 컴파일한다.

# cd /usr/src/redhat/RPMS

# ls
drwxr-xr-x 2 root root 4096  5월 25 03:44 athlon
drwxr-xr-x 2 root root 4096 11월 14 10:59 i386
drwxr-xr-x 2 root root 4096  5월 25 03:44 i486
drwxr-xr-x 2 root root 4096  5월 25 03:44 i586
drwxr-xr-x 2 root root 4096  5월 25 03:44 i686
drwxr-xr-x 2 root root 4096  5월 25 03:44 noarch
# cd i386
- 자신의 시스템 아키텍쳐에 맞는 폴더에 들어간다. 그곳에 자신의 시스템에 맞는 rpm 패키지 파일이 생성되어 있다.

# ls
-rw-r--r-- 1 root root 142183 11월 14 10:59 vsftpd-2.0.5-12.i386.rpm
# rpm -Uvh vsftpd-2.0.5-12.i386.rpm
준비 중...               ########################################### [100%]
   1:vsftpd                 ########################################### [100%]
# rpm -qi vsftpd
Name        : vsftpd                       Relocations: (not relocatable)
Version     : 2.0.5                             Vendor: (none)
Release     : 12                            Build Date:
Install Date:       Build Host: server3
Group       : System Environment/Daemons    Source RPM: vsftpd-2.0.5-12.src.rpm
Size        : 289673                           License: GPL
Signature   : (none)
URL         : http://vsftpd.beasts.org/
Summary     : vsftpd - 매우 안전한 Ftp 데몬
Description :
vsftpd는 매우 안전한 FPT 데몬입니다. 이것은 완전히 처음부터 작성되었습니다.

- 자신이 만든 rpm 패키지를 이용해 vsftpd 프로그램을 설치한다.

# rpm -q sendmail-cf
vsftpd-2.0.5-12
- 제대로 설치되었는지 확인한다.

------------------------------------------------------------------------------------------------------------------------

만일 /usr/src/redhat/ 폴더가 없다면

#rpm -qf /usr/src/redhat  또는
#whereis rpmbuild 또는
#rpm -qf /usr/bin/rpmbuild
로 의존성을 확인해서 필요한 파일을 설치해야 한다.

버전이 낮은 버전을 설치할 경우에는 소스.rpm 파일을 다운 받아서 다시 리빌딩후 설치 사용하면 된다.