Я хочу створити декілька пакетів дебютів, але я не знаю, як працює "підписання" пакетів. Тож мені було цікаво, як створити підписаний пакет дебютів.
Я хочу створити декілька пакетів дебютів, але я не знаю, як працює "підписання" пакетів. Тож мені було цікаво, як створити підписаний пакет дебютів.
Відповіді:
Підписання пакету в системах Ubuntu / Debian досить безладне. Теоретично підписання дебетового пакету дає можливість особі, яка отримує ваш пакет, підтвердити, що пакет не був змінений після його підписання. Насправді перевірку підписів надзвичайно важко налаштувати і вимкнено за замовчуванням. Якщо користувач не здійснить набір локальних налаштувань, він не буде перевіряти підпис, коли пакет встановлений.
Для того, щоб підписати пакет, ви можете використовувати або: debsigs або dpkg-sig. Підписи несумісні між собою, тому вам потрібно буде переконатися, що користувач використовує належний інструмент на стороні, що приймає, для перевірки підписів.
dpkg-sig простіший у використанні і для вас, і для користувача, але debsigs - це інструмент із вбудованою підтримкою (яка відключена за замовчуванням) в Ubuntu та Debian.
Я написав повідомлення в блозі, що містить усі технічні деталі підписання та перевірки вихідних пакетів (.dsc файлів), двійкових пакетів (.deb) та самих сховищ пакетів APT тут: http://blog.packagecloud.io/eng/2014/ 10/28 / howto-gpg-sign-verify-deb-пакети-apt-repositories /
Підписання пакету на Debian / Ubuntu зазвичай здійснюється через файли .changes. Створюючи пакет, ви, як правило, у файлі .changes, перелічуючи результати збірки (джерело та / або двійкові пакети) та їх контрольні суми, коли ви підписуєте пакунки, як правило, це файл, який ви підписуєте (таким чином дозволяючи перевірити цілісність пакету за допомогою його контрольної суми).
Найпростіший спосіб підписати файл .changes - це використовувати debsign
debsign hello_1.0_amd64.changes
Це відбувається автоматично, якщо у вас є первинний ключ у вашому брелоку gnupg, і ви працюєте dpkg-buildpackage
або debuild
без перемикачів -us
і -uc
.