Debian 9, APT, и "Ошибка GPG: ... InRelease: The following signatures were invalid:"

Когда я работал внутри контейнера, а не снаружи, я обнаружил, что трюк с -samefile, к сожалению, не сработал. Не уверен, почему, поскольку это был тот же индексный дескриптор. В любом случае, это сработало, на всякий случай, если это кому-нибудь пригодится:

netns=mynamespace
inode=$(ls -i /var/run/netns/$netns | cut -f1 -d" ")
pids=$(find -L /proc/[1-9]*/task/*/ns/net -inum $inode | cut -f3 -d"/" | uniq)
ps -p $pids
8
18.08.2017, 23:51
1 ответ

Как уже указывал JdeBP, начиная с Debian 9, apt больше не поддерживает SHA -1, что означает, что файл InReleaseнеобходимо создавать с помощью SHA -256 вместо (, то же самое касаетсяRelease.pg).

Что исправило это для меня, так это указание -digest-algo SHA256в качестве параметра для gpg, поэтому полная последовательность будет:

  1. Создать пакет:

    dpkg-deb --build ${PACKAGE_NAME}-1.0/
    sudo rm ${SOME_TEMP_PATH}/*
    mv ${PACKAGE_NAME_name}-1.0.deb ${SOME_TEMP_PATH}/
    dpkg-scanpackages ${SOME_TEMP_PATH} /dev/null | gzip -9c > ${SOME_TEMP_PATH}/Packages.gz
    sudo rm ${PATH_TO_REPO_IN_WWW_SERVER}/*
    sudo cp ${SOME_TEMP_PATH}/* ${PATH_TO_REPO_IN_WWW_SERVER}
    cd ${PATH_TO_REPO_IN_WWW_SERVER}
    
  2. Подпишите:

    apt-ftparchive --md5 --sha256 release.  > Release 
    gpg --digest-algo SHA256 --armor --output Release.gpg --detach-sign Release
    gpg --digest-algo SHA256 --clearsign --output InRelease Release
    

Подписание также может быть выполнено из временной папки, а затем скопировано в папку веб-сервера полностью, или вы можете поиграть с путями, а именно " .", используемое при вызове apt-ftparchive, если вы хотите сохранить ваши .debв отдельном дереве.

4
20.08.2021, 11:33

Теги

Похожие вопросы