Debian IRC 채널 irc : //irc.debian.org#debian-mentors 에서 일부 관리자와 이야기를 나 exact면서 정확히 같은 것을 요구했으며 일반적인 합의는 다음과 같습니다.
해결책 # 1 :
단일 코드베이스로 소스 파일을 복사하여 패키지에 종속성을 통합하는 것은 매우 어려워집니다. 의존성, 업데이트, 버전 관리 등을 처리하는 패키징 시스템의 목적을 무효화합니다.
해결책 # 3 :
바이너리 ( .deb
)를 설치할 때 비 데비안 패키지를 즉석에서 다운로드 하는 것은 심각한 보안 위험이 될 수 있습니다. 설치시 다운로드 및 설치되기 때문에를 추출하여 종속성 을 검사 할 수도 없습니다 deb
. 리포지토리 시스템을 완전히 우회하는 접근 방식입니다. root
신뢰할 수없는 출처에서 신뢰할 수없는 추가 소프트웨어를 추가로 다운로드 하는 패키지 (및 기억하십시오!)에 관심이있는 사용자는 없습니다 . 예, DEBIAN/postinst
(또는 preinst
)를 다루고 (또는 wget
귀하의 경우,pip install
), 플래시, Oracle Java, Steam 및 기타 사용자가 취한 접근 방식입니다. 그러나 이것은 독점적 인 비공개 소스 소프트웨어이므로 보안은 아무 것도 아닙니다.
해결책 # 1.5 :
당신은 그것을 언급하지 않았다,하지만 당신은 단지에 종속성을 통합 할 수있는 빌드 시간 에, 즉, 소스 패키지합니다 ( .orig.tar.gz
, .debian.tar.gz
, .dsc
은 "바이너리"패키지합니다 (을 만들 때 PyPi에서 다운로드하여, 인조) .deb
). 에 대한 지침 pip install
으로 갈 것 debian/rules
(통보 소문자 debian
는 발행 할 때와 바이너리 패키지에 반대,), 그리고 실행됩니다 debuild
나 dpkg-buildpackage
.
이것은 # 1과 # 3 사이의 중간입니다. 그것은 # 3의 문제 중 일부를 완화 (그러나 해결하지는 못합니다) : 적어도 최종 제품을 검사 할 수 .deb
있으며 설치시 인터넷 액세스가 필요하지 않습니다. 모든 위험과 부담은 최종 사용자에서 패키지 관리자에게 전달됩니다. 그러나 대부분의 패키징 시스템 인프라를 우회하므로 # 1과 동일한 문제가 있습니다. Afterall는이 종속성을 처리합니다 (버전, 업데이트, 요구 사항, 충돌이) 왜 dpkg
/ apt
처음에 만들었습니다! :)
해결책 # 2 :
진정한 올바른 방법 ™ . 의존성에 대한 데비안 패키지를 만들고 패키지에 요구 사항으로 나열하고 모든 .debs
또는 소스 패키지를 배송 합니다.
여기에는 여러 가지 옵션이 있습니다.
데비안에 포함시키기 위해 소프트웨어와 그 의존성 둘 다의 소스 패키지를 제출 하십시오. 수락하면 Ubuntu와 같은 모든 파생 상품을 포함하여 모든 데비안 사용자가 자동으로 사용할 수 있습니다.
소스 패키지를 Launchpad에 업로드하여 우분투 사용자 (및 Linux Mint와 같은 파생 제품)가 쉽게 추가하고 설치할 수 있는 PPA 를 만듭니다.
웹 사이트에 자신의 데비안 리포지토리를 호스팅하십시오. 데비안 기반 시스템의 사용자는 추가 /etc/apt/sources.list.d
하고 apt
인프라를 사용 하여 위와 같이 다운로드, 설치 및 업데이트 할 수 있습니다!
.deb
직접 다운로드 및 설치를 위해 파일을 호스팅하십시오 . 아니 apt
거나 자동 업데이트는 생각과 관련이 있습니다.
에 관해서는 방법 (! 너무하고 파이썬 소프트웨어) 당신의 PyPi 종속성을 포장하는 도구 쉬운 과정을 참조가 있습니다 :
그리고 많은 유용한 참고 자료 :
도움이 필요하다? 그것들을 확인하십시오 :