티스토리 뷰

IT

Linux Deb 파일 만들기

zzang_yang 2022. 7. 20. 15:18
반응형

  패키지로 만들 경우엔 의존도 별 패키지 구성이 달라야 합니다. Rpmdeb로 변환시킬 수 있으나 패키지내에서도 필요 라이브러리가 달라 문제가 될 수 있습니다. 패키지 구성에 대한 정합성을 확보하여 만드시기 바랍니다.

 

디렉토리 구조

데비안 패키지 생성은 어렵지 않다. 먼저 데비안 패키지 파일에 패키징할 파일을 저장한 [작업 디렉토리]를 하나 만든다.

그리고 그 아래 [홈 디렉토리]에 설치될 경로와 파일을 저장한다.

 

ex)  /home/test 면 이 패키지를 설치하는 시스템에 /home/test 라는 디렉토리가 생성이되고 [작업 디렉토리]아래에 /home/test/test.jar 라는 파일이 있으면 대상 시스템에도 같은 경로에 파일이 설치된다.

1. 패키지 할 파일들을 작업 디렉토리에 이동

-       Ex) /nprotect

2.  “/Home 디렉토리에 설치될 경로와 파일 저장

3.  작업 디렉토리아래에 “/DEBIAN” 아래는 설정 파일 저장.

  -   control 이라는 필수 파일 필요. (패키지 명 등 필 수 정보. 아래 예제 참고)

  -   control 파일 이외에도 추가 설정 파일을 통해서 인스톨 전 후의 추가 작업을 preinst이나, postinst, postrm 등 스크립트를 지정 가능

   (preinst : 패키지 설치 전 실행 스크립트, postinst: 패키지 설치 후 실행, Postrm: 패키지 삭제 후 스크립트)

 

 

Package: ${build.finalName}
Version: ${project.version}
Section: misc
Priority: low
Architecture: amd64
Depends: (의존성따라 등록)
Description: (패키지 설명)
Maintainer: (개발 이메일)

 

4.  최종 패키지 내용 구성이 끝나면 dpkg 명령어를 통해 빌드만 하면 완료.

“dpkg-deb --build {작업 디렉토리명}” 명령어를 실행하면 deb확장자로 패키지 파일 제작 가능

 

파일 구조

패키지에 대한 정보를 설정하기 위해서는 [작업 디렉토리] 아래에 “/DEBIAN” 디렉토리 안에 각종 설정 파일을 넣어둘 수 있는데, control 이라는 파일은 필수로 필요한 파일이다. 이 파일에는 데비안 패키지의 필수 정보인 패키지명, 정보들이 들어간다. 

S

Package: ${build.finalName}
Version: ${project.version}
Section: misc
Priority: low
Architecture: amd64
Depends: (의존성따라 등록)
Description: (패키지 설명)
Maintainer: (개발 이메일)
Package: Package_TEST
Version: 1.0
Section: misc
Priority: low
Architecture: all
Depends: oracle-java8-installer | openjdk-8-jre
Description: zzang_yang
Maintainer: zzang_yang@mail.com

 

각 항목을 살펴보자

  • Package : 가장 중요한 항목으로 패키지 명을 정의한다. apt-get install 시, 이 패키지명으로 지정해서 인스톨을 한다.
  • Version : 패키지 버전이다. 설치된 패키지를 업그레이드할때 이 버전을 비교하기 때문에 매우 중요한 필드 이다. 버전이 같으면 내용이 다르더라도 업데이트가 되지 않으니 주의가 필요하다.
  • Section : 패키지의 분류인데, 크게 중요하지는 않다.
  • Architecture : 설치 가능한 CPU 플랫폼 종류를 정의한다.
  • Depends : 이 패키지를 실행하기 위해서 필요한 다른 패키지명을 리스팅 한다. 예를 들어 자바 애플리케이션의 경우 JDK를 설치하도록 할 수 있다. 위의 예제는 oracle-java8이나, openjdk-8 런타임을 설치하도록 정의되어 있다.
  • Description : 패키지에 대한 설명을 적는다.
  • Maintainer : 패키지를 관리하는 개발자 이메일을 적는다.

 

control 파일 이외에도 추가 설정 파일을 통해서 인스톨전 후의 추가 작업을 preinstall이나, postinstall 스크립트를 지정할 수 있다.

 

 

반응형

'IT' 카테고리의 다른 글

[Javascript] 키보드 키코드 값  (0) 2023.05.16
PC 제조사별 바이오스(BIOS) 진입 키 목록  (0) 2023.04.13
DES, AES, RSA, ARIA, SEED 알고리즘 방식  (0) 2022.01.20
React 설치 환경 구성  (0) 2022.01.04
BIOS 부팅 구조  (0) 2021.12.29