가장 간단한 데비안 패키징 안내서는 무엇입니까?


150

나는 우분투 위키에 갔지만 혼란 스러웠습니다. 너무 많은 방법이있었습니다. 데비안 패키징에 대한 쉬운 가이드를 알려주십시오.


3
자신의 용도, 특정 컴퓨터 또는 다른 사람이 사용할 수 있도록 패키지를 만드시겠습니까?
andol

1
패키지하려는 소프트웨어는 어떤 언어입니까?
Umang

4
나는 같은 문제가 있습니다. 대부분의 튜토리얼과 가이드는 "업스트림 타르볼을 얻는다"로 시작합니다. 이 시점에서 우리는 길을 잃었다. 우리는 배포하고자하는 간단한 것이 있고, 업스트림 타르볼이없고, 소스 코드가 없습니다. 단지 전쟁 파일, 일부 스크립트 및 일부 jar 파일입니다. 무엇에 관한 모든 업스트림 타르 볼이며, 누구나 (사용자의 문제를 예를 들어 거래)를 포괄적 하나를 사용하지 가이드를 보았다
존 리틀

2
내가 StackOVerflow에 게시 것을 갈 것입니다 .

"가상 패키지"(그룹 종속성을 함께)를 만들려면 equivs-build
Rolf

답변:


103

기본 만들기위한 좋은 HOWTO입니다 .deb파일을. 그것은 생성에 적합한 .deb데비안 / 우분투에 포함 할 패키지를 원하는 경우 충분히 엄격한 개인적인 용도로 파일 아니지만을 - 그것을 위해 당신이 읽어야 데비안 새로운 메인테이너 설명서 및 / 또는 우분투 포장 가이드 (내가 당신을 믿는 ' 이미 시도했습니다).

.deb파일의 준수 여부 를 검사하는 좋은 도구 lintian는 리포지토리에서 설치 가능합니다.

Ask Ubuntu 대화방에는 두 개의 세션이 있습니다.

우분투 패키징 기본 사항 (패키지 : 1 부)

런치 패드 PPA 용 우분투 패키징 (포장 : 2 부)


이것은 패키징으로 시작하는 데 필요한 것을 훌륭하게 컴파일하지만 하우투에서는 deb 파일에 응용 프로그램 아이콘을 포함시키는 정보가 누락되었습니다 (다른 곳에서는 찾지 못했습니다). 그것을하는 방법에 대한 힌트가 있습니까?
nightcod3r

14

어떤 부분에 문제가 있습니까? 복잡하지만 가이드를 따라갈 때 매우 명확 해 보였습니다.

빠른 요약 :

  • 추출 소스 .tar.gz
  • 운영 dh_make
  • 데비안 파일 편집
  • 디 빌드 실행

3
혼란스러운 점은 소스 언어 또는 디렉토리 구조에 관계없이이 프로세스가 동일합니까?
Seth

9
요점은 .tar.gz가 없다는 것입니다. 우리가 작성한 앱을 패키지하고 싶습니다. 어떤 가이드도 이것을 다루지 않는 것 같습니다. 그들은 모두 우리가 가지고 있지 않은 "업스트림 타르볼"로 시작합니다.
John Little

@JohnLittle이 답변이 도움이 될 수 있습니다 askubuntu.com/a/27731/5
나단 오스만

1
장기간 반복 포장은 어떻습니까? 길고 복잡한 포장 과정을 항상해야합니까?
kravemir

사용자에게 GPG 키 가 없으면 debuild" debsign : gpg error 발생! 중단되었습니다 .... " 와 함께 실패 합니다.
acc

10

dpkg-deb간단한 패키지를 만드는 데 사용할 수도 있습니다 .

Ubuntuforums 의 멋진 튜토리얼이 있습니다 .


5

무언가를 패키징하는 가장 쉬운 방법은 checkinstall 을 사용하는 것입니다 .


4
checkinstall은 소스 설치 방법에서 debin 바이너리 패키지 (.deb)를 신속하게 빌드 할 수있는 방법을 제공합니다. 그러나 데비안 소스 패키지에서 빌드 된 적절한 데비안 패키지는 제공하지 않습니다.
João Pinto

OH man .. 나는 컴파일하기 전에 그것을 사용해야했다. 그것은 컴파일하는 시간과 같다.
Piotr Kula

5

StackOverFlow 에 처음 게시 된 이 안내서는 사전 컴파일되거나 해석 된 소프트웨어를위한 것입니다.

deb 패키지를 만드는 올바른 방법은 사용 dpkg-buildpackage하지만 때로는 약간 복잡합니다. 대신 사용할 수 있으며 dpkg -b <folder>데비안 패키지가 만들어집니다.

다음은 dpkg -b <folder>바이너리를 사용하거나 수동 컴파일 (Python, Bash, Pearl, Ruby)없이 자동으로 실행되는 모든 종류의 스크립트 로 데비안 패키지를 작성하기위한 기본 사항입니다 .

  1. 다음 구조를 다시 작성하려면 파일 및 폴더를 작성하십시오.

    ProgramName-Version/
    ProgramName-Version/DEBIAN
    ProgramName-Version/DEBIAN/control
    ProgramName-Version/usr/
    ProgramName-Version/usr/bin/
    ProgramName-Version/usr/bin/your_script
    

    배치 된 스크립트 /usr/bin/는 터미널에서 직접 호출됩니다. 스크립트에 확장을 추가하지 않았습니다. 또한 deb 패키지의 구조는 일단 설치되면 프로그램의 구조가된다는 것을 알 수 있습니다. 프로그램이 하나의 파일이있는 경우이 논리를 따라 그래서, 당신은 바로 아래에 배치 할 수 있습니다 ProgramName-Version/usr/bin/your_script,하지만 당신은 여러 개의 파일이있는 경우, 당신은 아래를 배치해야합니다 ProgramName-Version/usr/share/ProgramName/all your files아래에 하나 개의 파일과 장소 /usr/bin/그에서 스크립트를 호출합니다/usr/share/ProgramName/

  2. 모든 폴더 권한을 root로 변경하십시오.

     chown root:root -R /path/to/ProgramName-Version  
    
  3. 스크립트 권한을 변경하십시오.

     chmod 0755 /path/to/the/script
    
  4. 마지막으로 다음을 실행할 수 있습니다. dpkg -b /path/to/the/ProgramName-Version그러면 deb 패키지가 만들어집니다! (또한 post / pre inst 스크립트와 원하는 모든 것을 추가 할 수 있으며 일반적인 데비안 패키지처럼 작동합니다)

다음은 control파일 의 예입니다 . 빈 파일 인 "control"에 복사 / 붙여 넣기 만하면 DEBIAN 폴더에 넣습니다.

Package: ProgramName
Version: VERSION
Architecture: all
Maintainer: YOUR NAME <EMAIL>
Depends: python2.7, etc , etc,
Installed-Size: in_kb
Homepage: http://foo.com
Description: Here you can put a one line description.This is the short Description.
 Here you put the long description, indented by 1 space.

3

아니요,이 세상에서 가장 간단하고 명확한 포장 안내서는

우분투 및 기타 데비안 용 Java 애플리케이션 패키징

며칠 전 첫 번째 응용 프로그램의 경우이 자습서를 따라 DEB 패키지를 만들었습니다. 매우 명확하고 내 앱이 성공적으로 패키지되었습니다. 예, 적어도 그것은 가장 간단합니다.

Debian Packaging Guide와 비교할 수 있습니다.


3
"단순"은 "완료"를 의미하지 않습니다. 기본 .deb 패키징 튜토리얼은 다양한 유형의 프로그램에 적용되지 않는 많은 정책이 있으므로 패키징은 "간단한 튜토리얼"만큼 쉽지 않습니다.
토마스 워드

확실히 간단합니다. 처음 시작했고 몇 분 안에 첫 데비안 패키지를 만들 수있었습니다. 여전히 다루어야 할 세부 사항이 많지만 (lintian의 잘못된 패키지 품질 메시지) 훌륭한 출발점입니다.
atmelino
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.