Я запустил эту команду в Терминале:
sudo apt-get update
Обновление заканчивается следующим сообщением об ошибке:
W: A error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: http://extras.ubuntu.com precise Release: The following signatures were invalid: BADSIG 16126D3A3E5C1192 Ubuntu Extras Archive Automatic Signing Key <ftpmaster@ubuntu.com>
W: GPG error: http://ppa.launchpad.net precise Release: The following signatures were invalid: BADSIG 4C1CBC1B69B0E2F4 Launchpad PPA for Jonathan French
W: Failed to fetch http://extras.ubuntu.com/ubuntu/dists/precise/Release
Что это значит и почему это происходит?
Попробуйте это:
sudo apt-get clean
sudo mv /var/lib/apt/lists /tmp
sudo mkdir -p /var/lib/apt/lists/partial
sudo apt-get clean
sudo apt-get update
Это сообщение отображается, потому что gpg ключ для того репозитория отсутствует в Вашей способно-ключевой базе данных.
Для импорта ключа откройте терминал и введите эти команды
gpg --keyserver keyserver.ubuntu.com --recv-keys 16126D3A3E5C1192
, pgp ключи главным образом распределяются в нескольких keystore. Связанные с Ubuntu ключи обычно находятся в keyserver.ubuntu.com
. Но если это перестало работать, можно использовать альтернативы. Как -
gpg --keyserver hkp://subkeys.pgp.net --recv-keys 16126D3A3E5C1192
необходимо заменить алфавитно-цифровую часть с определенным ключом. Удостоверяются, что ключ является тем, которому Вы доверяете . Любой репозиторий с этим ключом, был бы в состоянии установить любой пакет без предупреждения.
Вы видели бы следующий вывод, если вышеупомянутое успешно
gpg: Total number processed: 1
gpg: imported: 1
, Тогда выполняет эту команду:
gpg --export --armor 16126D3A3E5C1192 | sudo apt-key add -
Примечание эти -
знак после add
.
Тогда sudo apt-get update
, у Вас не будет таких сообщений после этого.
Я нашел, что просто выполнение
sudo rm -rf /var/lib/apt/lists
sudo mkdir /var/lib/apt/lists
работало на меня.
Можно попробовать мой сценарий для автоматического получения всех ключей GPG для PPAs, который Вы используете: smartupdate.sh.
Это запустится apt-get update
, затем найти все ошибки GPG и получить ключи для найденных подписей GPG. В Вашем случае это просто запустится
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4C1CBC1B69B0E2F4
, но когда Вы добавите несколько неподписанных PPAs, это становится скучным для добавления ключей GPG вручную.:)
Следующие команды решили проблему для меня:
sudo -i
apt-get clean
cd /var/lib/apt
mv lists lists.old
mkdir -p lists/partial
apt-get clean
apt-get update
Я получил подобную ошибку. Но вместо BADSIG
я добрался KEYEXPIRED
для PostgreSQL repo:
W: A error occurred during the signature verification.
The repository is not updated and the previous index files will be used.
GPG error: http://apt.postgresql.org precise-pgdg Release:
The following signatures were invalid: KEYEXPIRED 1381654177
решение отлично описано здесь , но это - то, что я сделал для решения его:
$ sudo apt-key list | grep -B1 PostgreSQL
$ sudo apt-key del ACCC4CF8
$ wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
И теперь $ sudo apt-get update
будет работать отлично!
Можно использовать launchpad-getkeys
для фиксации этого. Откройте терминал и войдите:
sudo apt-get install launchpad-getkeys
sudo launchpad-getkeys
Тогда
sudo apt-get update
Эта подсказка (от actionparsnip) работала на меня:
Попытка:
sudo fuser -vvv /var/lib/dpkg/lock sudo rm /var/lib/apt/lists/lock sudo cp -arf /var/lib/dpkg /var/lib/dpkg.backup sudo cp /var/lib/dpkg/status-old /var/lib/dpkg/status sudo cp /var/lib/dpkg/available-old /var/lib/dpkg/available sudo rm -rf /var/lib/dpkg/updates/* sudo rm -rf /var/lib/apt/lists sudo rm /var/cache/apt/*.bin sudo mkdir /var/lib/apt/lists sudo mkdir /var/lib/apt/lists/partial LANG=C;sudo apt-get clean LANG=C;sudo apt-get autoclean LANG=C;sudo apt-get --purge autoremove LANG=C;sudo apt-get update -o APT::Cache-Limit=25165824 sudo dpkg --clear-avail sudo dpkg --configure -a LANG=C;sudo apt-get -f install LANG=C;sudo apt-get --fix-missing install LANG=C;sudo apt-get update -o APT::Cache-Limit=25165824 && sudo apt-get dist-upgrade
Найденный в:
https://answers.launchpad.net/ubuntu / + source/update-manager / + вопрос/194077
Это могло произойти из-за кэширующейся проблемы Прокси HTTP. Если у Вас есть один из тех, которые где-нибудь вдоль маршрута как я, можно попросить, чтобы Кв. попросила, чтобы это обошло кэш временно:
sudo apt-get update -o Acquire::http::No-Cache=True