“GPG hatası: Yayın: Aşağıdaki imzalar geçersizdi: BADSIG”


88

Bu komutu Terminalde çalıştırdım:

sudo apt-get update

Güncelleme aşağıdaki hata raporuyla sona erer:

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  

Bu ne anlama geliyor ve neden oluyor?


4
12.04'ü ilk kurduğumda da benzer bir sorun gördüm. Ondan sonra "Yazılım Kaynakları" nı yazılım yöneticisinden Hindistan’dan başka bir sunucuya değiştirdim. Şimdi bu sorunu göremiyorum. Hindistan sunucusunu kullanıyorsanız, değiştirin ve bize bildirin.
— Abhijeet

Thanx Abhijeet. Ben bir Hintliyim ama burada Katar'da kalıyorum. Sunucuyu Suudi Arabistan olarak değiştirdim.Ama aynı sonuç.
— beeju

Yanıtlar:


90

Bunu dene:

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

4
partialAlt dizini oluşturmanıza gerek yok . sudo apt-get updateBunu kendisi yapacak.
— Byte Komutanı

9
Yukarıdakileri yaptıktan sonra hala bu hatayı alıyorum:Reading package lists... Done W: GPG error: http://developer.download.nvidia.com Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F60F4B3D7FA2AF80
— Mona Jalal

Sorulan soruyu cevaplamaya değebilir (ve daha fazla oy kazanma ;-)).
— Witold Kaczurba 19:18

ikinci adımda hatayla karşılaşıldı:mv: cannot move '/var/lib/apt/lists' to '/tmp/lists': Directory not empty
— İnternet Kullanıcısı

Bunun tam olarak ne yaptığını detaylandırabilir misin? Teşekkür ederim,
— Hendrik

64

Bu mesaj görüntüleniyor çünkü bu havuzun gpg tuşu apt-key veritabanınızda yok.

Anahtarı almak için bir terminal açın ve bu komutları girin.

gpg --keyserver keyserver.ubuntu.com --recv-keys 16126D3A3E5C1192 

pgp anahtarları çoğunlukla birkaç anahtar deposunda dağıtılır. Ubuntu ile ilgili anahtarlar genellikle içinde bulunur keyserver.ubuntu.com. Ancak bu başarısız olursa alternatifleri kullanabilirsiniz. Sevmek -

gpg --keyserver hkp://subkeys.pgp.net --recv-keys 16126D3A3E5C1192

Alfanümerik parçayı belirli bir tuşla değiştirmeniz gerekir. Anahtarın güvendiğiniz biri olduğundan emin olun . Bu anahtarın bulunduğu herhangi bir depo, herhangi bir paketi uyarıda bulunmadan kurabilir.

Yukarıdakiler başarılı olursa aşağıdaki çıktıları göreceksiniz

gpg: Total number processed: 1
gpg:               imported: 1

Ardından bu komutu çalıştırın:

gpg --export --armor 16126D3A3E5C1192 | sudo apt-key add - 

Sonrasındaki -işarete dikkat edin add.

Ardından sudo apt-get update, bundan sonra böyle bir mesajınız olmaz.


1
Merhaba @ anwar, güvendiğim anahtarı nereden / nasıl alabilirim?
— Minnie Shi

1
@MinnieShi Anahtar, hata mesajının kendisinde bulunurThe following signatures were invalid: BADSIG 16126D3A3E5C1192
— Kalyan Raghu

1
apt-key addKomutun "Tamam" döndürmesi gerektiğini unutmayın .
— Coil

Harika, kabul edilen cevap olmalı! Teşekkürler.
— Jacob

13

Bunu sadece yaparken buldum

sudo rm -rf /var/lib/apt/lists
sudo mkdir /var/lib/apt/lists

benim için çalıştı.


/ Var / lib / apt / listeleri izninin alabileceği her şeyi korumak için sudo rm -rf / var / lib / apt / listeleri / * && sudo mkdir -p / var / lib / apt / listeleri kullanın
— 131

1
partialAlt dizini oluşturmanıza gerek yok . sudo apt-get updateBunu kendisi yapacak.
— Byte Komutanı

9

Komutumu, kullandığınız PPA'ların tüm GPG anahtarlarını otomatik olarak almak için deneyebilirsiniz: smartupdate.sh .

Bu başlatacak apt-get update, ardından bulundu GPG imzalar için anahtarları tüm GPG hataları bulmak ve almak. Senin durumunda, sadece başlayacak

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4C1CBC1B69B0E2F4

ancak birkaç imzasız PPA eklediğinizde, GPG anahtarlarını manuel olarak eklemek sıkıcı hale gelir. :)


6

Aşağıdaki komutlar benim için problemi çözdü:

sudo -i
apt-get clean
cd /var/lib/apt
mv lists lists.old
mkdir -p lists/partial
apt-get clean
apt-get update

1
partialAlt dizini oluşturmanıza gerek yok . sudo apt-get updateBunu kendisi yapacak.
— Byte Komutanı

4

Ben de benzer bir hatayla karşılaştım. Ancak bunun yerine PostgreSQL deposunu BADSIGaldım KEYEXPIRED:

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

Çözüm mükemmel açıklanan burada ama bu çözmek için ne yaptığını geçerli:

$ 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 -

Ve şimdi $ sudo apt-get updatemükemmel çalışacak!


1

Bu ipucu ( actionparsnip'ten ) benim için çalıştı:

Deneyin:

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

Bulunan:
https://answers.launchpad.net/ubuntu/+source/update-manager/+question/194077


1

Bu, bir HTTP proxy’sinin önbelleğe alınmasıyla ilgili bir sorun olabilir. Benim gibi rota boyunca bunlardan birisine sahipseniz, Apt'tan önbelleği geçici olarak atlamasını istemenizi isteyebilirsiniz:

sudo apt-get update -o Acquire::http::No-Cache=True

-2

Bunu launchpad-getkeysdüzeltmek için kullanabilirsiniz . Bir terminal açın ve şunu girin:

sudo apt-get install launchpad-getkeys
sudo launchpad-getkeys

Sonra

sudo apt-get update
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.