Linux ETC

source rpm 을 사용하여 rpm 패키지 만들기

2008.05.28 20:00

jook 조회 수:33945

redhat 7.3 이나 redhat9 등과 같은 예전 OS를 사용할 경우 fedora 나 cent 등에서 새롭게 제공되는 프로그램은 해당 OS에 맞는 rpm 패키지가 제공되지 않기 때문에 상위 레벨의 rpm 패키지를 설치할 경우, 의존성 에러가 나는 경우가 많다.
이런 경우는 source로 컴파일해서 설치를 해야 하는데, source rpm 패키지를 사용하면 쉽게 설치할 수가 있다.

redhat7.3 OS에서 기본으로 제공되지 않는 fping 이라는 프로그램을 source rpm을 이용해서 설치해 보도록 하겠다.


1. http://rpmfind.net 에서 fping 패키지를 검색하여 fping-2.4b2-8.fc9.src.rpm 파일을 다운 받는다.

[root@localhost root]# cd /usr/local/src/
[root@localhost src]# ls
httpd-2.2.0  mysql-5.0.18  php-5.1.2
[root@localhost src]# wget ftp://rpmfind.net/linux/fedora/development/source/SRPMS/fping-2.4b2-8.fc9.src.rpm
--10:40:00--  ftp://rpmfind.net/linux/fedora/development/source/SRPMS/fping-2.4b2-8.fc9.src.rpm
           => `fping-2.4b2-8.fc9.src.rpm'
Resolving rpmfind.net... 완료.
Connecting to rpmfind.net[194.199.20.114]:21... connected.
anonymous로서 로그인하고 있습니다...로그인 했습니다!
==> SYST ... 완료.    ==> PWD ... 완료.
==> TYPE I ... 완료.  ==> CWD /linux/fedora/development/source/SRPMS ... 완료.
==> PORT ... 완료.    ==> RETR fping-2.4b2-8.fc9.src.rpm ... 완료.
길이: 69,108 (unauthoritative)

100%[======================================================================================================>] 69,108        41.40K/s    ETA 00:00

10:40:08 (41.40 KB/s) - `fping-2.4b2-8.fc9.src.rpm'가 보존되었습니다 [69108]

[root@localhost src]#


2. rpmbuild 명령으로 OS에 맞는 rpm 패키지를 새로 만든다.

[root@localhost src]# rpmbuild --rebuild fping-2.4b2-8.fc9.src.rpm
fping-2.4b2-8.fc9.src.rpm(을)를 설치합니다
실행 중(%prep): /bin/sh -e /var/tmp/rpm-tmp.79189
+ umask 022
+ cd /usr/src/redhat/BUILD
+ cd /usr/src/redhat/BUILD
+ rm -rf fping-2.4b2_to-ipv6
+ /bin/gzip -dc /usr/src/redhat/SOURCES/fping-2.4b2_to-ipv6.tar.gz

  ~ ~ ~ ~ ~  (컴파일 과정 중간 생략)

Provides(을)를 찾는 중: (/usr/lib/rpm/find-provides 사용)...
Requires(을)를 찾는 중: (/usr/lib/rpm/find-requires 사용)...
PreReq: rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(CompressedFileNames) <= 3.0.4-1
Requires(rpmlib): rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(CompressedFileNames) <= 3.0.4-1
Requires: ld-linux.so.2 libc.so.6 libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1)
작성: /usr/src/redhat/RPMS/i386/fping-2.4b2-8.i386.rpm
실행 중(%clean): /bin/sh -e /var/tmp/rpm-tmp.91267
+ umask 022
+ cd /usr/src/redhat/BUILD
+ cd fping-2.4b2_to-ipv6
+ rm -rf /var/tmp/fping-2.4b2-8-root-root
+ exit 0
실행 중(--clean): /bin/sh -e /var/tmp/rpm-tmp.91267
+ umask 022
+ cd /usr/src/redhat/BUILD
+ rm -rf fping-2.4b2_to-ipv6
+ exit 0
[root@localhost src]#


3. 새로 생성된 rpm 패키지를 설치 한다. (새로 생성된 패키지는 /usr/src/redhat/RPMS/i386 디렉토리에 위치 한다.)

[root@localhost src]# cd /usr/src/redhat/RPMS/i386/
[root@localhost i386]# ls
fping-2.4b2-8.i386.rpm
[root@localhost i386]# rpm -Uvh fping-2.4b2-8.i386.rpm
준비 중...                  ########################################### [100%]
   1:fping                  ########################################### [100%]
[root@localhost i386]#
[root@localhost i386]# which fping          <--- fping 패키지가 설치 완료되어 fping 명령을 사용할 수 있다.
/usr/sbin/fping


번호 제목 글쓴이 날짜 조회 수
366 삭제된 파일 복구 - 1 호스트웨이 2015.09.23 3012
365 리눅스 터미널 기반 모니터링 툴 "glances" 호스트웨이 2015.09.23 1566
364 Linux 파일명이 깨진파일 삭제 호스트웨이 2015.09.23 9143
363 mknod_장치파일을 만들어 사용 호스트웨이 2015.09.22 1282
362 /etc/fstab 등록 호스트웨이 2015.09.22 4602
361 /proc/sys/net/ipv4/conf/ 네트워크 세팅 호스트웨이 2015.09.22 3226
360 /proc/sys/net/ipv4 활용 서버보안 -3- 호스트웨이 2015.09.22 1125
359 사용하고 있던 외장하드가 마운트 되지 않는 경우 호스트웨이 2015.09.22 1192
358 filezilla 디렉토리 목록 조회 실패 호스트웨이 2015.09.22 2534
357 /dev/null 복구 호스트웨이 2015.09.21 1230
356 모든 파일 안의 문자열 치환하기 호스트웨이 2015.09.21 747
355 Linux -(하이픈)으로 시작하는 파일 지우기 호스트웨이 2015.09.20 1561
354 서버 네트워크 대역폭 제한 호스트웨이 2015.09.20 2811
353 리소스 많이 차지하는 프로세스 찾기 호스트웨이 2015.09.20 1301
352 Touch 파일 용량 0바이트 만들기 호스트웨이 2015.09.20 2566
351 tar 분할압축하기 호스트웨이 2015.09.19 2066
350 rpm에서 원하는 파일만 풀어서 사용하기 호스트웨이 2015.09.19 974
349 Linux chkrootkit을 이용한 백도어 설치 탐지 호스트웨이 2015.09.18 2241
348 dumpe2fs - 파일시스템 상세 정보 확인 호스트웨이 2015.09.18 1695
347 Proftp 설치 및 xinetd 에서 실행하기 file 호스트웨이 2015.09.18 2336