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


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.