[Linix] RPM 만들기

김봉남·2024년 3월 15일
0

Linux

목록 보기
36/36

RPM(RedHat Package Manager)

  • RPM은 Red Hat Enterprise Linux (RHEL) 운영 체제에서 사용되는 패키지 형식
  • 패키지명-버전.릴리즈.벤더.아키텍처 형식.확장자

RPM 구성 방법

RPM 패키지를 만들기 위해서는 "rpm-build" 라는 패키지가 설치되어 있어야 된다.

RPM 패키지 설치 확인

[root@test]# rpm -qa | grep rpm-build
rpm-build-4.14.3-19.el8.x86_64
rpm-build-libs-4.14.3-19.el8.x86_64

### 없을 경우
[root@test]# yum install rpm-build

### Build 작업에 필요한 소스 파일 생성 및 압축

[root@test]# cd ~/home/RPM/
-rwxrwxrwx 1 ABC ABC 1799171313 12월 18 16:49 AcronisCyberProtect_15_64-bit_Build_35681.x86_64

[root@test RPM]# tar cvzf AcronisCyberProject_15_64-1.0.0.tar.gz AcronisCyberProtect_15_64-bit_Build_35681.x86_64

[root@test RPM]# ll
합계 3509784
-rwxrwxrwx 1 ABC ABC 1799171313 12월 18 16:49 AcronisCyberProtect_15_64-bit_Build_35681.x86_64
-rw------- 1 root   root   1794843380  3월 15 09:43 AcronisCyberProject_15_64-1.0.0.tar.gz

### Directory 생성
[root@test]# mkdir -p /home/RPM/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
- BUILD : 빌드가 이루어지는 디렉토리
- RPMS : RPM이 생성될 디렉토리
- SOURCES : 소스 디렉토리
- SPECS : Spec 파일 디렉토리
- SRPMS : SRPM 디렉토리

[root@test RPM]# ls -l
합계 3509784
-rwxrwxrwx 1 ABC ABC 1799171313 12월 18 16:49 AcronisCyberProtect_15_64-bit_Build_35681.x86_64
-rw------- 1 root   root   1794843380  3월 15 09:43 AcronisCyberProject_15_64-1.0.0.tar.gz
drwx------ 2 root   root            6  3월 15 09:54 BUILD
drwx------ 2 root   root            6  3월 15 09:54 RPMS
drwx------ 2 root   root            6  3월 15 09:54 SOURCES
drwx------ 2 root   root            6  3월 15 09:54 SPECS
drwx------ 2 root   root            6  3월 15 09:54 SRPMS

[root@test RPM]# mv AcronisCyberProject_15_64-1.0.0.tar.gz SOURCES
[root@test RPM]# cd SOURCES/
[root@test SOURCES]# ls -l
합계 1752780
-rw------- 1 root root 1794843380  3월 15 09:43 AcronisCyberProject_15_64-1.0.0.tar.gz

SPEC 파일 작성

spec 파일은 RPM (Red Hat Package Manager) 패키지를 빌드하는 데 사용되는 스크립트 및 지침을 포함하는 텍스트 파일입니다. 이 파일은 패키지의 빌드 및 설치에 대한 모든 세부 정보를 정의

[root@test]# vi ~/home/RPM/SPECS/acronis-1.0.0.spec

정의

%define version 1.0.0
%define name hello
%define release 1

Summary: Acronis Packages Test
Name: %{name}
Version: %{version}
Release: %{release}%{?dist}
Group: Shells
License: GPL
Source: %{name}-%{version}.tar.gz
URL: http://www.test.co.kr

BuildRequires: /bin/rm,/bin/mkdir,/bin/cp
Requires: /bin/bash

%description
RPM Build Test Description.
Make Date February 28, 2024

Build 명령

[root@test]# rpmbuild -ba acronis-1.0.0.spec

[root@test]# rpm -ivh ~/home/RPM/RPMS/x86_64/acronis-1.0.0-1.el6.x86_64.rpm
[root@test]# rpm -qa | grep acronis
acronis-1.0.0-1.el6.x86_64

profile
남자다

0개의 댓글