GPG "NO_PUBKEY" hatasını nasıl düzeltebilirim?

Yazılım Kaynakları programı ile bazı ekstra depolar ekledim. Ancak paket veritabanını yeniden yüklediğimde aşağıdaki gibi bir hata alıyorum:

W: GPG hatası: http://ppa.launchpad.net trusty InRelease: Ortak anahtar kullanılamadığından aşağıdaki imzalar doğrulanamadı: NO_PUBKEY 8BAF9A6F

Bunu kullanarak düzeltebileceğimi biliyorum. apt-key bir terminalde, resmi Ubuntu belgelerine göre. Ama bunu grafiksel olarak yapmak isterdim. Terminal kullanmadan bunu yapmanın bir yolu var mı?

Terminal'de aşağıdaki komutları yürütün

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys <PUBKEY>

nerede <PUBKEY> depo için eksik ortak anahtarınız var mı, örn. 8BAF9A6F.

Sonra güncelle

sudo apt-get update

ALTERNATİF YÖNTEM:

sudo gpg --keyserver pgpkeys.mit.edu --recv-key  <PUBKEY>sudo gpg -a --export <PUBKEY> | sudo apt-key add -sudo apt-get update

Böyle bir anahtarı içe aktarırken şunları kullandığınızı unutmayın apt-key sisteme, sisteminizin kullanacağı yazılımı imzalamak için içe aktardığınız anahtara güvendiğinizi söylüyorsunuz. Anahtarın gerçekten paket dağıtıcısının anahtarı olduğundan emin değilseniz bunu yapmayın.

Bunu şimdi ele almanın en basit yolu, Y-PPA-Manager (şimdi bütünleştiren launchpad-getkeys grafik arayüzlü komut dosyası).

  1. Yüklemek için önce bu program için webupd8 deposunu ekleyin:

    sudo add-apt-repository ppa:webupd8team/y-ppa-manager
  2. Yazılım listenizi güncelleyin ve Y-PPA-Manager'ı yükleyin:

    sudo apt-get updatesudo apt-get install y-ppa-manager
  3. Y-ppa-manager'ı çalıştırın (örn. y-ppa-manager ardından enter tuşuna basın).

  4. Ana y-ppa-manager penceresi göründüğünde, "Gelişmiş."

  5. Gelişmiş görevler listesinden "Eksik tüm GPG anahtarlarını içe aktarmayı dene" yi seçin ve Tamam'ı tıklatın.

    İşin bitti! İşlemi başlattığınızda uyarı iletişim kutusunun dediği gibi, kaç ppa'nız olduğuna ve bağlantınızın hızına bağlı olarak oldukça uzun sürebilir (benim için yaklaşık 2 dakika).

Bu, bir depo için uygun bir ortak anahtarınız olmadığında gerçekleşir.

Bu sorunu çözmek için şu komutu kullanın:

gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv 9BDB3D89CE49EC21

ubuntu anahtar sunucusundan anahtarı alır. Ve sonra bu:

gpg --export --armor 9BDB3D89CE49EC21 | sudo apt-key add -

bu, anahtarı apt güvenilir anahtarlarına ekler.

Çözüm bulunabilir burada &amfi; burada &amfi; burada.

Anahtarı alıp içeri aktarmanız gerekiyor.

Ppa'dan anahtarı almak için ppa'nın Fırlatma Rampası sayfasını ziyaret edin. Launchpad'deki her PPA sayfasında 'Bu PPA ile ilgili teknik ayrıntılar' (1) üzerine tıkladıktan sonra bu bağlantıyı (2) bulacaksınız.:

image 1

Takip edin ve anahtar kimliği bağlantısını tıklayın (3):

image 2

Sayfayı kaydet, bu senin anahtar dosyan.


Şimdi onu içe aktarma zamanı:

  • Applications > Software Center,
  • Edit > Software sources...,
  • Parolanızı girin,
  • Git Authentication sekme ve üzerine tıklayın Import Key File..., sonunda
  • Kayıtlı anahtar dosyasını seçin ve üzerine tıklayın OK.

apt, /etc/apt/trusted dosyasında yalnızca 40 anahtar işleyebilir.gpg.d. 41 anahtar ve eksik anahtar (lar) ı eklemek için tüm adımlardan geçseniz bile GPG hatası "ortak anahtar bulunamadı" alırsınız.

Bu dosyada artık kullanmadığınız ppa'lardan kullanılmayan anahtarlar olup olmadığını kontrol edin. Hepsi kullanımdaysa, /etc/apt/trusted dosyasındaki ilgili anahtar dosyalarla birlikte bazı ppa'ları kaldırmayı düşünün.gpg.d

Ayrıca, kullanarak

sudo apt-key adv

Bir güvenlik riski olarak kabul edilir ve tavsiye edilmez olduğun gibi "bu, çeşitli nedenlerden dolayı anahtarları almanın güvenli bir yolu olmadığı için tüm güvenlik kavramını baltalamak (örneğin: hkp düz metin protokolüdür, kısa ve hatta uzun anahtarlıklar sahte olabilir, ...)". http://ubuntuforums.org/showthread.php?t=2195579

Eksik anahtarları eklemenin doğru yolunun (örneğin 1ABC2D34EF56GH78) olduğuna inanıyorum

gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv 1ABC2D34EF56GH78gpg --export --armor 1ABC2D34EF56GH78 | sudo apt-key add -

WebUpd8 ppa'da paketlenmiş, tek olarak bağlayacağım küçük bir komut dosyası var.deb indir, böylece tüm eksik GPG anahtarlarını otomatik olarak içe aktaran tüm ppa'yı eklemenize gerek kalmaz.

Indirin ve yükleyin Fırlatma Rampası-getkeys (sürümündeki ~ natty'yi görmezden gelin, Karmic'ten Oneiric'e kadar tüm Ubuntu sürümleriyle çalışır). Kurulduktan sonra bir terminal açın ve şunu yazın:

sudo launchpad-getkeys

Bir vekilin arkasındaysanız, işler biraz daha karmaşıktır, bu yüzden bakın bu daha fazla bilgi için

Heroku'yu kurarken aynı sorunla karşılaştım. Aşağıdaki bağlantı sorunumu çözdü -

http://naveenubuntu.blogspot.in/2011/08/fixing-gpg-keys-in-ubuntu.html

Tamir ettikten sonra NO_PUBKEY sorun, aşağıdaki sorun kaldı

W: GPG error: xhttp://toolbelt.heroku.com ./ Release: The following signatures were invalid: BADSIG C927EBE00F1B0520 Heroku Release Engineering <release@heroku.com>

Bunu düzeltmek için terminalde aşağıdaki komutları çalıştırdım:

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

Kaynak - Bunu çözmek için bağlantı

Daha genel olarak, aşağıdaki yöntem her depo için çalışmalıdır. Her şeyden önce, program sağlayıcısının web sitesinde aşağıdaki gibi görünen bir metin için bir arama motorunun yardımıyla arama yapın:

-----BEGIN PGP PUBLIC KEY BLOCK-----Version: GnuPG v1.4.1 (GNU/Linux)[...]-----END PGP PUBLIC KEY BLOCK-----

Böyle bir metin, örneğin http://deb.opera.com. Pasajı kopyalayın, masaüstünüzde oluşturduğunuz boş bir dosyaya yapıştırın. Bu, anahtar dosyasıyla sonuçlanır.

Ardından anahtarın içe aktarılmasına devam edin:

  • >Uygulamalar Yazılım Merkezi
  • >Yazılım kaynaklarını düzenleyin..., şifreyi girin
  • Kimlik Doğrulama sekmesinde, 'Anahtar Dosyasını İçe Aktar' seçeneğini tıklayın...'
  • Kaydedilen anahtar dosyasını seçin ve 'Tamam'ı tıklayın.

Şimdi önceden oluşturulmuş anahtar dosyasını kaldırabilirsiniz.

Sahip olduğunuzdan emin olun apt-transport-https kurulmuş:

dpkg -s apt-transport-https > /dev/null || bash -c "sudo apt-get update; sudo apt-get install apt-transport-https -y" 

Depo ekle:

curl https://repo.skype.com/data/SKYPE-GPG-KEY | sudo apt-key add - echo "deb [arch=amd64] https://repo.skype.com/deb stable main" | sudo tee /etc/apt/sources.list.d/skype-stable.list 

Linux için Skype'ı yükleyin:

sudo apt-get update sudo apt-get install skypeforlinux -y

Kaynak: https://community.skype.com/t5/Linux/Skype-for-Linux-Beta-signatures-couldn-t-be-verified-because-the/td-p/4645756

İyi! Sonunda yolu buldum!

Düzeltmek için tüm yöntemleri test ettim GPG hatası NO_PUBKEY ve benim için hiçbir şey işe yaramıyor.

/Etc/apt/trusted klasörünün tüm içeriğini sildim.gpg.d

cd /etc/apt/trusted.gpg.dsudo rm -R *sudo apt-get update

Ve ben kullanıyorum Y-PPA-Yöneticisi yöntem çünkü tüm pubkey'leri manuel olarak oluşturmak için çok tembelim (çok fazla): http://www.unixmen.com/fix-w-gpg-error-no_pubkey-ubuntu/

sudo apt'yi çalıştırın-güncellemeyi tekrar alın ve sonunda hepsi harika çalışıyor! Tanklar!

Tabanlı Kaynak : gönderi #17 açık https://bugs.launchpad.net/ubuntu /+ kaynak/apt/+hata/1263540

Bunu kontrol edebilirsiniz YANİ thread çözüm için. [İlgili siteye] bağlantı (Open Source For Geeks: W: GPG error: http://ppa.launchpad.net precise Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6AF0E1940624A220 )

İlgili: updates - How to fix missing GPG keys? - Ask Ubuntu

‘Kötü’ mü? Ne demek istediğini merak ediyorum.

@MichaelScheper ‘Bir terminal açmamak için bir ortalama var mı?’ =~ ‘Bunu terminal olmadan yapmanın bir yolu var mı?’

@Wilf: Oh! Dilbilgisini bozmak istemem ama kafamı karıştırdı. Az önce kontrol ettiğim referanstan, ‘means’ tekil bir isim ve kastettiğiniz isim. MEANS | meaning, definition in Cambridge English Dictionary Fakat siz ve Agmentor, söz konusu dilbilgisinin doğru olduğu bir çeşit ingilizce formu kullanıyorsanız, bu tür bir şeyle ilgilendiğim için ona bir referans görmeyi çok isterim. :relaxed:

Bir depoyu kaldırmak isteyen kullanıcılar için bkz. bu soru * (bu, bu yorumu konuyla ilgili daha fazla hale getirmelidir, ancak dilbilgisini değerlendirmenin de burada olduğunu düşünüyorum :)) * @MichaelScheper Bunu söylemenin alışılmadık bir yoludur, ancak bunun bir parçası olarak öğrendim Birleşik Krallık’ta ingilizce (bu muhtemelen ingilizcemin doğru bir şekilde öğretildiğimden daha kötü olduğu anlamına gelir (isimlerle vb.)! xD). Alıntı [‘sona erdirmek için bir araç’] (meaning - What does "It is a means to an end, not an end in itself" mean? - English Language & Usage Stack Exchange ) denilse de konu son bit olsa da akla geliyor, ama burada bir yöntem ya da yol anlamına geliyor demektir.

@Wilf: Bağlandığım sözlük bir İNGİLTERE sözlüğüydü ve ‘sona erecek bir araç’ tamamen benim bakış açımı gösteriyor, yani ‘araçlar’ tekil. Bu nedenle, ‘ortalama’ doğru kelime değildir. Ama bunun konu dışına çıktığını söylediğiniz yerdesiniz, bu yüzden daha fazla tartışmadan vazgeçeceğim ve soruyu düzenleyip düzenlemeyeceğinize karar vermek için size bırakacağım. Şerefe.

İşte bu soruya güvenilir bir cevap: apt - How do I fix the GPG error "NO_PUBKEY"? - Ask Ubuntu