Tôi đã tìm kiếm một cách đơn giản để tạo Gói .deb cho những thứ không có mã nguồn để biên dịch (cấu hình, shellscripts, phần mềm độc quyền). Đây là một vấn đề khá lớn bởi vì hầu hết các hướng dẫn gói đều cho rằng bạn có một tarball nguồn mà bạn muốn biên dịch. Sau đó, tôi đã tìm thấy hướng dẫn ngắn này (tiếng Đức).
Sau đó, tôi đã tạo một tập lệnh nhỏ để tạo một kho lưu trữ đơn giản. Như thế này:
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
Tôi đã thêm khóa vào khóa apt và bao gồm nguồn như thế này:
deb http://my.default.com/my-repository/ ./
Có vẻ như bản thân repo đang hoạt động tốt (Tôi gặp một số vấn đề, để khắc phục chúng, tôi cần thêm Gói hai lần và thực hiện giải pháp thay thế tệp tạm thời cho tệp Phát hành). Tôi cũng đã đặt một số .deb đã tải xuống vào repo, có vẻ như chúng cũng đang hoạt động mà không gặp vấn đề gì. Nhưng các gói tự tạo của tôi đã không ... Wenn tôi làm sudo apt-get update
, chúng đang gây ra lỗi như thế này:
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.
Có ai biết tôi đã làm gì sai không?
CẬP NHẬT 2012 / 03-06 : Chỉ là một gợi ý cho một người khác đang tìm kiếm một cách dễ dàng để tạo DEB: Hãy xem FPM .