Обновите GPG SignWith в публичном репозитории, подготовленном с помощью reprepro.
У меня есть публичное репо с двумя доступными пакетами. Это настроено с
reprepro
и вещь подписана ключом GPG, на который ссылается инструкция в . Пакеты добавляются с
reprepro -b public/ --ask-passphrase includedeb focal mypackage_amd64.deb
.
Поскольку срок действия ключа GPG истек, мне нужно установить новый. Поэтому я сделал следующие шаги:
Сгенерировать новый ключ GPG
gpg --gen-key
.Экспортируйте ключ с помощью
gpg --armor --export 9B5BBD0820B7326B > repo.asc
в папке репо, чтобы пользователи моглиwget -q http://repo.example.com/repo.asc -O- | sudo apt-key add -
Изменено каждые
SignWith
линии вpublic/conf/distributions
чтобы соответствовать этому новому gpg.
Теперь, когда я получаю файлы ( http://repo.example.com/public/conf/distributions , http://repo.example.com/repo.asc ), все кажется правильным.
Но
apt update
еще жалуются:
Err:1 http://repo.example.com/public focus InRelease
Следующие подписи недействительны: EXPKEYSIG 8320586119BDB444 Автор User.Name@example.com
Что
8320586119BDB444
соответствует предыдущей GPG. Чего не хватает в этой процедуре?
1 ответ
Написание вопроса от начала до конца иногда помогает понять, чего не хватает :)
Мне просто нужно было повторно сгенерировать файлы репо с помощью следующих команд:
reprepro -b public/ --ask-passphrase export focal
reprepro -b public/ --ask-passphrase export bionic