Linux ETC

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

2008.05.28 20:00

jook 조회 수:33802

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


번호 제목 글쓴이 날짜 조회 수
386 scp 명령어를 이용한 파일 복사 및 전송 호스트웨이 2012.03.16 211074
385 ls 명령어의 파일 사이즈 쉽게 확인하기 호스트웨이 2012.10.23 85438
384 리눅스 서버 누가 언제 무슨 작업을 했는지 확인 방법 호스트웨이 2012.03.09 74614
383 Linux Charset 확인 및 변경 file 호스트웨이 2012.03.30 68640
382 ulimit 설정 관련 호스트웨이 2015.07.29 62658
381 Swap 메모리 늘리기 file 호스트웨이 2012.03.30 60186
380 비대해진 로그 파일 내용을 비우는 방법 - /dev/null 호스트웨이 2012.03.16 53641
379 서비스 이름으로 포트 번호 확인하기 호스트웨이 2012.04.13 53306
378 xinetd 소개 및 설정 호스트웨이 2012.06.29 49316
377 국가명 약어 (국가코드) 호스트웨이 2012.04.13 48886
376 top 명령어 및 옵션 설명 file 호스트웨이 2012.03.27 46219
375 Kernel Parameters HOSTWAY 2008.06.04 43524
374 ssh-key를 생성하여 서버에 패스워드 없이 접속하는 방법 jook 2008.06.25 43214
373 강제 umount 방법 (umount : device is busy 발생시) 호스트웨이 2012.11.30 40521
372 openssl 간단 사용법 호스트웨이 2008.12.10 39364
371 tcpdump 기본 사용 sylee 2008.07.02 39276
370 fdisk 명령어를 이용하여 수동으로 파티션 나누기 file 호스트웨이 2015.11.30 37018
369 yum 사용 팁 jook 2008.09.02 36756
368 터미널 창으로 메시지 보내기 호스트웨이 2008.05.19 36419
367 시스템 시간 확인 및 동기화 하기 sylee 2008.05.15 36181