Linux ETC

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

2008.05.28 20:00

jook 조회 수:34282

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


번호 제목 글쓴이 날짜 조회 수
246 CPU core 별 사용량 확인 하기 호스트웨이 2012.06.08 25281
245 안전한 패스워드 생성하기 호스트웨이 2012.06.08 16385
244 sysstat 설치편 호스트웨이 2012.06.08 20404
243 sar 명령 옵션 호스트웨이 2012.06.15 93667
242 리눅스 가상콘솔개수 조절 file 호스트웨이 2012.06.15 15248
241 리눅스에서 fuser 명령어 사용하기 호스트웨이 2012.06.15 33506
240 Ext2Fsd 를 이용하여 윈도우즈 PC에서 리눅스 파티션 읽기 file 호스트웨이 2012.06.15 20363
239 L4 로드밸런서 알고리즘 호스트웨이 2012.06.22 19389
238 EXT3-fs warning: maximal mount count reached, running e2fsck is recommended 해결 호스트웨이 2012.06.22 19135
237 리눅스 ls 디렉토리 혹은 파일 별 출력하기 file 호스트웨이 2012.06.22 26086
236 리눅스에서 pkill, pgrep 명령어 사용하기 호스트웨이 2012.06.22 28527
235 특정 IP 엑세스 못하게 하는방법 호스트웨이 2012.06.22 14455
234 find 명령 사용 예제들 호스트웨이 2012.06.29 14966
233 시스템내에서 하드 용량이 다르게 보이는 이유 호스트웨이 2012.06.29 16433
232 xinetd 소개 및 설정 호스트웨이 2012.06.29 51913
231 리눅스 압축 명령어 tar 호스트웨이 2012.06.29 17721
230 리눅스에서 shutdown 명령어 사용하기 호스트웨이 2012.06.29 28860
229 리눅스 로그인 메시지 출력 file 호스트웨이 2012.07.06 17108
228 리눅스 로그파일의 종류 호스트웨이 2012.07.06 18243
227 Linux 계정 정보 관리 파일 호스트웨이 2012.07.06 17984