Linux ETC

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

2008.05.28 11:00

jook 조회 수:35855

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 kornet SMTP 서비스 종료에 따른 구글 SMTP 활용 방안 file 호스트웨이 2016.04.28 13304
385 extundelete tool을 이용하여 삭제된 파일 복구하기 호스트웨이 2016.02.29 17408
384 Login 실패시 계정 잠그기 및 PAM 설정 file 호스트웨이 2016.01.04 35145
383 fdisk 명령어를 이용하여 수동으로 파티션 나누기 file 호스트웨이 2015.11.30 62988
382 SFTP 퍼미션 조정 및 chroot 설정으로 상위폴더 접근 제한하기 호스트웨이 2015.10.29 37529
381 리눅스 CD로 손상된 파일 복구하기 호스트웨이 2015.09.29 17575
380 find 명령을 통한 소유자, 백도어, 파일 찾기 호스트웨이 2015.09.29 14905
379 Linux 설치된 OS 커널의 Bit확인 호스트웨이 2015.09.26 14590
378 SYN_Flooding 공격 막기 호스트웨이 2015.09.25 10968
377 Linux ssh 무작위 공격 방어하기 - fail2ban 호스트웨이 2015.09.24 13579
376 사용 가능한 쉘 확인 및 변경법 호스트웨이 2015.09.24 15429
375 삭제된 파일 복구 - 2 호스트웨이 2015.09.24 12634
374 프로그램의 사용 메모리 확인 호스트웨이 2015.09.23 11488
373 사용하지 않는 데몬 끄기 호스트웨이 2015.09.23 11700
372 리눅스 서버 보안 관련 설정 호스트웨이 2015.09.23 13103
371 서버시간 매시간마다 동기화 설정 호스트웨이 2015.09.23 15792
370 리눅스 상에서 메모리 사용 현황 확인하기 호스트웨이 2015.09.23 11084
369 터미널 접속 시 한글이 깨질 때 호스트웨이 2015.09.23 11241
368 서버 계정을 다른서버로 이전하기 호스트웨이 2015.09.23 16801
367 동일 네트워크의 중복 IP검색 호스트웨이 2015.09.23 15618