Chcę utworzyć kilka pakietów deb, ale nie wiem, jak działają pakiety „podpisujące”. Zastanawiałem się więc, jak utworzyć podpisany pakiet deb.
Chcę utworzyć kilka pakietów deb, ale nie wiem, jak działają pakiety „podpisujące”. Zastanawiałem się więc, jak utworzyć podpisany pakiet deb.
Odpowiedzi:
Podpisywanie pakietów w systemach Ubuntu / Debian jest raczej niechlujne. Teoretycznie podpisanie pakietu deb umożliwia osobie otrzymującej pakiet sprawdzenie, czy pakiet nie został zmodyfikowany po jego podpisaniu. W rzeczywistości weryfikacja podpisu jest strasznie trudna do skonfigurowania i domyślnie jest wyłączona. O ile użytkownik nie przeprowadzi wielu instalacji lokalnie, nie będzie weryfikował podpisu podczas instalacji pakietu.
Aby podpisać paczkę, możesz użyć: debsigs lub dpkg-sig. Podpisy nie są ze sobą kompatybilne, więc musisz upewnić się, że użytkownik używa odpowiedniego narzędzia po stronie odbierającej do weryfikacji podpisów.
dpkg-sig jest łatwiejszy w użyciu zarówno dla ciebie, jak i dla użytkownika, ale debsigs to narzędzie z wbudowaną obsługą (domyślnie wyłączoną) w Ubuntu i Debian.
Napisałem post na blogu zawierający wszystkie szczegóły techniczne dotyczące podpisywania i weryfikacji pakietów źródłowych (pliki .dsc), pakietów binarnych (.deb) i samych repozytoriów pakietów APT tutaj: http://blog.packagecloud.io/eng/2014/ 10/28 / howto-gpg-sign-Verify-deb-packages-apt-repositories /
Podpisywanie pakietów na Debianie / Ubuntu odbywa się zwykle za pomocą plików .changes. Podczas budowania pakietu zwykle pojawia się plik .changes, zawierający listę wyników kompilacji (pakietów źródłowych i / lub binarnych) oraz ich sumy kontrolne, przy podpisywaniu pakietów jest to zwykle plik, który podpisujesz (co umożliwia weryfikację integralność pakietu poprzez sumę kontrolną).
Najprostszym sposobem podpisania pliku .changes jest użycie debsign
debsign hello_1.0_amd64.changes
Odbywa się to automatycznie, jeśli masz klucz podstawowy w ty GnuPG pęk kluczy i uruchomieniu dpkg-buildpackage
lub debuild
bez -us
i -uc
przełączników.