자세한 단계는 RPM의 명령 RPMBUILD을 포장 리눅스 운영 체제를 사용하는

제 23 장에서 자신의 학습 "LINUX 개인 부엌의 새 형제 '의 패키지 소프트웨어의 최근의 예. 자신에 따르면 그는 rpm 패키지 (1804년 5월 7일 (코어)에 CentOS 리눅스 버전)를 만드는 CentOS7 일반적인 절차의 최신 버전을 요약 것을 배웠다.

첫째, 우리는 CentOS는 이전 버전에서, 몇 가지 기본 지식을 알고 있어야합니다, rpmbuild 도구의 기본 작업 디렉토리는 / usr / src / redhat의 권리 이유 때문에, 루트 사용자로 전환하려면, 일반 사용자 신원 rpm 패키지를 만들 수없는 경우에만 생산할 수. CentOS는 새 버전에서는 일반 사용자의 홈 디렉토리에서 작업 디렉토리 rpmbuild의 rpmbuild 도구로 새 디렉토리를 생성 할 수 있습니다. 그리고, 새 버전, 게시자는 시스템 라이브러리 파일이나 기타 손상을 방지하기 위해, rpm 패키지를 만들기 위해 루트로 사용하지 않는 것이 좋습니다.
----------------
면책 조항 :이 문서는 원본 문서의 CSDN 블로거 "해피 고토 문"이다는 CC 4.0 BY-SA 저작권 계약에 따라, 복제, 원본 소스 링크를 첨부 해주세요 이 문.
원본 링크 : HTTPS : //blog.csdn.net/u010384744/article/details/80929319

 

자세한 단계 

첫째, 필요한 도구 설치

당신은 또한 GCC 컴파일러를 설치해야합니다, C 언어로 작성되는 설치 패키지를 사용할 경우 다음은 메이크업의 도구가 포함되어 있습니다. 가장 중요한 것은 rpmbuild 도구를 설치하는 것입니다. 다음과 같이 명령은 다음과 같습니다

 설치  메이크업을 
 설치  GCC 
냠가  설치 rpmbuild를

 

둘째, RPM을 만드는 작업 디렉토리를 생성

메이크업 회전 수에 작업 디렉토리를 만들려면, 당신은 일반적으로 사용자 ID의 홈 디렉토리 아래의 디렉토리 구조를 작성해야합니다 :

포함 rpmbuild 디렉토리뿐만 아니라 디렉토리 카탈로그의 여섯 : BUILD, BUILDROOT, RPMS, 근원은, 사양, SRPMS는 명령은 다음입니다 :

에서 mkdir -p ~ / rpmbuild / {BUILD, BUILDROOT, RPMS, SOURCES, SPECS, SRPMS}

각 디렉토리의 일반 목적은 설명을 다음과 같습니다 :

BUILD 컴파일 된 rpm 패키지 임시 디렉토리
BUILDROOT 소프트웨어를 임시 설치 디렉토리의 컴파일 후 생성 된
디렉토리가 마지막으로 rpm 패키지를 설치할 수 있습니다 생성 된 RPM을
모든 소스 코드와 패치 파일 소스 디렉토리
SPECS 저장 디렉토리 SPEC 파일 (중요)
소프트웨어 최종를 SRPMS RPM 소스 형식으로 저장 경로


셋째, 생산 소스 코드 파일 생성 된 타르볼

여기에 소스 코드 "LINUX 개인 부엌의 새 형제"의 주요 사용은 프레젠테이션에 제공했다. 실행 파일, 스크립트 파일, 사용자 매뉴얼, 구성 파일 및 다른 파일을 포함 할 수있다 자신의 소스 코드 패키지. 그런 다음 소스 디렉토리에 압축 된 패키지를 포장.

타르 -zcv Main- -f 0 .L. 타르 Main-에 .gz은 0.1         # 가정은 코드 디렉토리가 홈 디렉토리 아래에있는 소스를 포장하는 등 => Main- 0.1 
CP Main- 0.1 . 타르 는 .gz ~ /를 rpmbuild / # 소스 패키지로는 다음 디렉토리 소스에 소스 코드를 복사

 

넷째, 새로운 설정 *을 .spec 파일

이 설정은 사양 파일이 전체 포장 과정이 가장 중요한 부분이다, 신중하게 설정해야합니다. SPECS 새로운 디렉토리에 디렉토리 및 문서 세트에있어서, 상기 각각의 매크로 파일명으로는 (예를 들어., 설치 %) 특정의 의미를 참조 문헌 [4]

[사용자 ID @ 호스트 이름 ~] $ CD를 ~ / rpmbuild / SPECS 
[사용자 ID @ 호스트 이름 ~ ] $ 정력 main.spec
 1 이름 : 주
 2 버전 :         0.1 
3 릴리스 :         1 % {? DIST}
 4 요약 : 계산 죄와 값 COS
 5  
6 라이센스 : GPL
 (7) URL : HTTP : // linux.vbird.org 
8 Source0 : main- 0.1 . 타르 .GZ
 9  
10  
11 %의 설명
 12다음은이 패키지 의지가 당신에게 INPUT 당신의 이름을 수 있도록하고, 계산 죄와 COS 값
 (13)은  
(14) % 준비
 (15) % 설정 - Q
 (16)  
. (17)  
(18)는 % 빌드 # 컴파일 명령, 컴파일러가 BUILD 디렉토리에 임시 파일을 선물 할 것이다
 . (19)  만들기 
(20)가  
21 것은 %가 설치 (22)가 RM -rf % {} buildroot
 (23)은 에서 mkdir -p {%} buildroot / usr / 지방 / 빈 # 테스트 ~ / rpmbuild / bUILDROOT 디렉토리, 매크로 buildroot {} = ~ %에 설치 컴파일 된 소스 코드 / rpmbuild
 (24) 만들기 설치 RPM_INSTALL_ROOT의 %는 = {} buildroot
 (25) (26)는 %                     
     
설치 패키지를 생성 할 때 RPM 디렉토리 # 최종 설치 파일
 27 / usr / 지방 / 빈 / 28  
29  
30 % 변경 로그
 (31)는 7 ~ 물 * . 4  2,018 VBird 영 <[email protected]> 0.1 
32 - 프로그램 구축

 

다섯째, RPM과 SRPM로 컴파일

다음 명령을 입력 종료 0 최종 프리젠 테이션 발생기의 성공에 나타납니다.

[사용자 ID @ 호스트 이름 ~] $ rpmbuild -ba main.spec

 

6, 설치 및 테스트

설치 및 테스트하려면 다음 명령을 입력합니다.

[사용자 ID @ 호스트 이름 ~] $ rpm으로 -ivh ~ / rpmbuild / RPMS / x86_64에 / 메인 0.1-1.el7.x86_64.rpm 번호가 기본 장착
[사용자 ID @ 호스트 이름 ~] $ # 또는 RPM -ql 주 찾기 주요의 설치 경로
[ 사용자 ID @ 호스트 이름 ~] $ 회전 수 -qi 주요 #은 주요 정보를 조회

VII 노트

디렉토리 나 파일에 / usr / 지방 / 빈 디렉토리에서 같은 이름의 존재를 가질 수 없습니다

 

여덟 참조

【1】 https://www.cnblogs.com/masterpanda/p/5700453.html

【2】 https://access.redhat.com/sites/default/files/attachments/rpm_building_howto.pdf

【3】 https://wiki.centos.org/HowTos/SetupRpmBuildEnvironment

【4】 https://docs.fedoraproject.org/quick-docs/en-US/creating-rpm-packages.html#con_rpm_spec_file_overview

 

추천

출처www.cnblogs.com/zhangxinglong/p/11904922.html