Я пытаюсь обновить свой экземпляр Linode Jessie до стабильного, выполнив следующие действия. этот учебник. Я обновил свой /etc/apt/sources.list
файл, и я до $ sudo apt update
шаг. Когда я ввожу эту команду, я получаю следующее:
Hit http://mirrors.linode.com stable InRelease
Hit http://mirrors.linode.com stable-updates InRelease
Ign http://nyc2.mirrors.digitalocean.com stable InRelease
Hit http://archive.debian.org jessie-backports InRelease
Ign http://nyc2.mirrors.digitalocean.com stable Release.gpg
Ign http://nyc2.mirrors.digitalocean.com stable Release
Get:1 http://security.debian.org stable/updates InRelease [39.1 kB]
Get:2 https://packages.sury.org stable InRelease
Ign https://packages.sury.org stable InRelease
Get:3 http://mirrors.linode.com stable/main Sources [7,827 kB]
W: There is no public key available for the following key IDs:
648ACFD622F3D138
NO_PUBKEY DCC9EFBF77E11517
W: There is no public key available for the following key IDs:
648ACFD622F3D138
E: Release file for http://archive.debian.org/debian/dists/jessie-backports/InRelease is expired (invalid since 145d 4h 29min 16s). Updates for this repository will not be applied.
Мой вышеупомянутый /etc/apt/sources.list
файл:
#
# deb cdrom:[Debian GNU/Linux 8.3.0 _Jessie_ - Official Multi-architecture amd6$
#deb cdrom:[Debian GNU/Linux 8.3.0 _Jessie_ - Official Multi-architecture amd64$
deb http://mirrors.linode.com/debian/ stable main
deb-src http://mirrors.linode.com/debian/ stable main
deb http://security.debian.org/ stable/updates main
deb-src http://security.debian.org/ stable/updates main
# jessie-updates, previously known as 'volatile'
deb http://mirrors.linode.com/debian/ stable-updates main
deb [arch=i386,ppc64el,amd64] http://nyc2.mirrors.digitalocean.com/mariadb/repo/10.2/debian stable main
# deb-src [arch=i386,ppc64el,amd64] http://nyc2.mirrors.digitalocean.com/mariadb/repo/10.2/debian stable main
deb-src http://mirrors.linode.com/debian/ stable-updates main
Проведя небольшое исследование PPA, я также обновил свой файл `/etc/apt/sources.list.d/php.list следующим образом:
deb https://packages.sury.org/php/ stable main
Но ошибка остается.
Есть ли способ обновить этот PPA, чтобы его можно было использовать с Debian Stable? Или есть другой способ обойти эту проблему?
Вам просто не хватает ключей подписи; пакеты в новом выпуске подписаны с использованием новых ключей. Вы можете получить ключи с сервера ключей и сохранить их как новые файлы в /etc/apt/trusted.gpg.d/
:
$ sudo gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/debian-archive-buster-automatic.gpg --keyserver keyserver.ubuntu.com --recv 648ACFD622F3D138
gpg: keyring '/etc/apt/trusted.gpg.d/debian-archive-buster-automatic.gpg' created
gpg: key DC30D7C23CBBABEE: public key "Debian Archive Automatic Signing Key (10/buster) <ftpmaster@debian.org>" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg: imported: 1
$ sudo gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/debian-archive-buster-stable.gpg --keyserver keyserver.ubuntu.com --recv DCC9EFBF77E11517
gpg: keyring '/etc/apt/trusted.gpg.d/debian-archive-buster-stable.gpg' created
gpg: key DCC9EFBF77E11517: public key "Debian Stable Release Key (10/buster) <debian-release@lists.debian.org>" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg: imported: 1
Если разрешения этих файлов другие, измените их на -rw-r--r--
с помощью:
sudo chmod 644 /etc/apt/trusted.gpg.d/debian-archive-buster-automatic.gpg
sudo chmod 644 /etc/apt/trusted.gpg.d/debian-archive-buster-stable.gpg
Теперь ключи должны быть перечислены в выводе apt-key list
и ошибка с apt update
быть исправленным.
Я обнаружил, что использование связки ключей gpg2 не будет работать из-за debootstrap, использующего gpgv
под капотом, который использует версию базы данных gpg1. Я воссоздал базу данных gpg вот так из сервер архивных ключей debian, Обратите внимание, что gpg
- это gpg 1.x.x, а не gpg 2.x.x или новее на момент написания:
wget https://ftp-master.debian.org/keys/release-10.asc -qO- | gpg --import --no-default-keyring --keyring ./debian-release-10.gpg
debootstrap --keyring=./debian-release-10.gpg buster /srv/buster
deboostrap
were updated to use gpg --verify
instead of gpgv
, I would imagine gpg2
could be used as a drop-in replacement - But I cannot be certain.