티스토리 뷰
※ 패키지로 만들 경우엔 의존도 별 패키지 구성이 달라야 합니다. Rpm을 deb로 변환시킬 수 있으나 패키지내에서도 필요 라이브러리가 달라 문제가 될 수 있습니다. 패키지 구성에 대한 정합성을 확보하여 만드시기 바랍니다.
디렉토리 구조
데비안 패키지 생성은 어렵지 않다. 먼저 데비안 패키지 파일에 패키징할 파일을 저장한 [작업 디렉토리]를 하나 만든다.
그리고 그 아래 [홈 디렉토리]에 설치될 경로와 파일을 저장한다.
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 |
- Total
- Today
- Yesterday
- webdriver
- 파이썬오류
- 자격증공부
- 오블완
- seleniumerror
- 셀레니움
- 셀레니움오류
- aws공부
- noudelnoutfounderror
- 설치오류
- 오류
- 0x800F0950
- 운영체제구성#스케줄링#큐#프로세스#쓰레드#태스터#OS구성
- 프레임워크오류
- Error
- NETFramework오류
- NETFramework3.5
- nomodulename
- 파이썬
- selenium
- Python
- 엣지깔끔하게
- 닷넷프레임워크오류
- 티스토리챌린지
- 크롬드라이버자동
- PythonSyntaxError
- 윈도우오류
- 정보보안
- 버그
- 프레임워크3.5설치불가
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |