컴파일 할 소스 코드가없는 것 (구성, 셸 스크립트, 독점 소프트웨어)에 대해 .deb 패키지를 만드는 간단한 방법을 검색했습니다. 대부분의 패키지 튜토리얼에서 컴파일하려는 소스 tarball이 있다고 가정하기 때문에 이것은 상당히 문제가되었습니다. 그런 다음 이 짧은 자습서 (독일어)를 찾았습니다 .
그 후 간단한 리포지토리를 만들기 위해 작은 스크립트를 만들었습니다. 이처럼 :
rm /export/my-repository/repository/*
cd /home/tdeutsch/deb-pkg
for i in $(ls | grep my); do dpkg -b ./$i /export/my-repository/repository/$i.deb; done
cd /export/avanon-repository/repository
gpg --armor --export "My Package Signing Key" > PublicKey
apt-ftparchive packages ./ | gzip > Packages.gz
apt-ftparchive packages ./ > Packages
apt-ftparchive release ./ > /tmp/Release.tmp; mv /tmp/Release.tmp Release
gpg --output Release.gpg -ba Release
적절한 키 링에 키를 추가하고 다음과 같이 소스를 포함했습니다.
deb http://my.default.com/my-repository/ ./
repo 자체가 잘 작동하는 것처럼 보입니다 (일부 문제가 발생하여 수정하기 위해 패키지를 두 번 추가하고 릴리스 파일의 임시 파일 해결 방법을 만들어야 함). 또한 다운로드 한 .deb를 리포지토리에 넣었습니다. 문제없이 작동하는 것처럼 보입니다. 그러나 내 자체 제작 패키지는 ... Wenn i do sudo apt-get update
, 이렇게 오류가 발생했습니다.
E: Problem parsing dependency Depends
E: Error occurred while processing my-printerconf (NewVersion2)
E: Problem with MergeList /var/lib/apt/lists/my.default.com_my-repository_._Packages
E: The package lists or status file could not be parsed or opened.
내가 잘못한 것을 아는 사람이 있습니까?
업데이트 2012-03-06 : DEB를 만드는 쉬운 방법을 찾고있는 다른 사람을위한 힌트 : FPM을 살펴보십시오 .