SDB:YOU or RPM Report Problems Verifying Package Signatures
İçindekiler
Belirti
İmza onaylanamadığı veya rpm tarafından NOKEY belirtildiği için, YaST Online Update (YOU) - YaST Çevrimiçi Güncelleme -, bir paketi güncelleyemediğini bildiriyor,
Örneğin, YOU şunu bildirmektedir:
ERROR(You:RPM has invalid signature.)
veya rpm aşağıdaki gibi bir mesaj gönderir:
warning: /tmp/man-pages-1.67-1.10.noarch.rpm: V3 DSA signature: NOKEY, key ID 9c800aca
Arka plan: paket imzaları
SUSE LINUX'da kullanıldığı gibi, RPM paket yönetim sistemi de sanal imza [wikipedia] tarafından dağıtılıp, GNU Privacy Guard [wikipedia] tarafından uygulanan RPM paket dosyasının güvenilir bir kaynak tarafından(Novell/SUSE) üretildiğini ve bozulmadığını (kazara - örneğin indirme sırasında veri bozulması- veya kasten bozulma) onaylamak için kullanılır.
RPM paket yönetim sisteminin arka planı ve sanal imzaların kullanımı hakkında ayrıntılı bilgi için Maximum RPM kitabını öneririz.
Olası Nedenler
RPM imzalarına ilişkin sorunların başında hasarlı indirme işlemi gelmektedir. Hasarlı indirmenin pek çok olası sebebi vardır; örneğin basit bir iletim hatası veya içerik değiştiren bir proxy (mesela anti-virüs yazılımı, RPM dosyasına virüs bulaştığını düşünebilir). Bu makale bu durum ile ilgili değildir. Hasarlı indirme işlemini geçtiğinizi varsayıyoruz.
Bu durumda, daha derinde yatan bir sebep vardır: RPM paket yönetim sistemi paket imzaları için hangi açık anahtarların güvenilir olduğunu unutmuş olabilir.
Arka plan: RPM sürümleri
Pek çok Linux yazılımında olduğu gibi, RPM paket yönetim yazılımı da halen geliştirilmektedir. RPM sürüm 3 (SLES8, SLSS ve SLOX içinde kullanıldı) ile RPM sürüm 4 (SLES9, SUSE 9.3 ve SUSE Linux 10.x içinde kullanıldı) arasında imzaları ve anahtarları tutma komutları açısından önemli farklılıklar vardır. Sisteminizin hangi RPM sürümünü kullandığından lütfen emin olun (emin olamadığınız durumda, rpm -q rpm komutu ile kontrol edin) ve daha sonra uygun bölümleri takip edin.
Sebebin Çözümlenmesi (RPM sürüm 4)
RPM sistemi, SUSE RPM paketlerine girebilmek için Novell/SUSE'nin kullandığı anahtarları bilmelidir. Bu, aşağıdaki komutun çıktısının incelenmesiyle denetlenebilir.
rpm -qa 'gpg-pubkey*' | sort
Doğru çıktı SUSE ürününe göre değişir:
SLES9 için, çıktı en azından şu iki anahtarı içermelidir:
gpg-pubkey-3d25d3d9-36e12d04
gpg-pubkey-9c800aca-40d8063e
SUSE 9.3 ile bir anahtar daha orada olmalıdır:
gpg-pubkey-0dfb3188-41ed929b
gpg-pubkey-3d25d3d9-36e12d04
gpg-pubkey-9c800aca-40d8063e
RPM sistemi düzgün çalışmadığında, farklı hatta boş bir çıktı üretecektir.
Çözüm (RPM sürüm 4)
Güvenilir bir ortamdan Novell/SUSE açık anahtarlarını aşağıdaki gibi tekrar elde edin:
- Yükleme ortamınızın ilk CD'sini /mnt altına yerleştirin.
-
rpm --import /mnt/gpg-pubkey-3d25d3d9-36e12d04.asc
komutunu çalıştırın. -
rpm --import /mnt/gpg-pubkey-9c800aca-39eef481.asc
komutunu çalıştırın. - Eğer /mnt/gpg-pubkey-0dfb3188-41ed929b.asc varsa,
rpm --import /mnt/gpg-pubkey-0dfb3188-41ed929b.asc
komutunu çalıştırın. - RPM'nin anahtarları doğru indirdiğini denetim için
rpm -qa 'gpg-pubkey*' | sort
komutunu çalıştırın ve çıktının yukarıda anlatılanlarla aynı olup olmadığını denetleyin. - Eğer pm</tt> satırı, bu çıktıyı üretmediyse (yani çıktı boşsa), şu komutu çalıştırın
rpm --rebuilddb
ve anahtar ithal sürecini tekrar edin (rpm --import ..) ardından tekrar denetleyin.
Sebebin Çözümlenmesi (RPM sürüm 3)
Burada da, RPM sistemi, SUSE RPM paketlerine girebilmek için Novell/SUSE'nin kullandığı anahtarları bilmelidir. RPM sürüm 4'te anahtarlarla doğrudan iletişim kurabilen komutlar olmasına rağmen, RPM sürüm 3 için böyle komutlar yoktu, o yüzden gerçek komutlar çok farklıdır.
RPM için anahtarlar sırasıyla çalıştığında, aşağıdaki komut:
gpg --no-options --no-default-keyring --keyring /usr/lib/rpm/gnupg/pubring.gpg --list-keys
aşağıdakine benzer çıktılar üretmelidir
/usr/lib/rpm/gnupg/pubring.gpg
------------------------------
pub 1024D/C58B7883 2002-09-03 UnitedLinux Package Signing Key
sub 2048g/797B62F9 2002-09-03 [expires: 2007-09-02]
pub 2048R/3D25D3D9 1999-03-06 SuSE Security Team
pub 1024D/9C800ACA 2000-10-19 SuSE Package Signing Key
sub 2048g/8495160C 2000-10-19 [expires: 2006-02-12]
RPM sistemi düzgün çalışmadığında, farklı veya boş çıktı üretilecektir.
Çözüm (RPM sürüm 3)
Güvenilir bir ortamdan Novell/SUSE açık anahtarlarını aşağıdaki gibi tekrar elde edin:
- Yükleme ortamınızın ilk CD'sini /mnt altına yerleştirin.
-
gpg --no-options --no-default-keyring --keyring /usr/lib/rpm/gnupg/pubring.gpg --import /mnt/pubring.gpg
komutunu çalıştırın. -
gpg --no-options --no-default-keyring --keyring /usr/lib/rpm/gnupg/pubring.gpg --list-keys
komutunu tekrar çalıştırın ve anahtarların, RPM'nin kullandığı anahtar halka içine yerleştirilip yerleştirilmediğini kontrol edin. - tt>fatal: /usr/lib/rpm/gnupg/trustdb.gpg: invalid trustdb</tt> benzeri bir hata mesajı alırsanız
rm -f /usr/lib/rpm/gnupg/trustdb.gpg
yapın ve anahtar ithal etme işlemini tekrarlayıp, ardından tekrar kontrol edin.
Her ürün için anahtar
Lütfen, mümkün olduğunca güvenilir ortamlardan anahtarları almaya çalışın. Bu sayfada bulunan bağlantılar, güvenilir bir ortam bulunamadığı zaman son seçenek olarak kullanılmalıdır.
SLES10 (RC3) ve SLED 10 (RC3)
- gpg-pubkey-0dfb3188-41ed929b: Açık Kuruluş Sunucusu <support@novell.com>
- gpg-pubkey-307e3d54-44201d5d: SUSE Paket Giriş Anahtarı <build@suse.de>
- gpg-pubkey-3d25d3d9-36e12d04: SuSE Güvenlik Takımı <security@suse.de>
- gpg-pubkey-7e2e3b05-44748aba: Novell Provo Build (İletişim security@novell.com) <novell-provo-build@novell.com>
- gpg-pubkey-a1912208-446a0899: Novell Provo Build (İletişim security@novell.com) <novell-provo-build@novell.com>
- gpg-pubkey-9c800aca-40d8063e: SuSE Paket Giriş Anahtarı <build@suse.de>
SUSE Linux 10.1
- gpg-pubkey-0dfb3188-41ed929b: Açık Kuruluş Sunucusu <support@novell.com>
- gpg-pubkey-1d061a62-427a396f build@novell.com (Novell Linux Ürünleri) <support@novell.com>
- gpg-pubkey-307e3d54-44201d5d SuSE Paket Giriş Anahtarı <build@suse.de>
- gpg-pubkey-3d25d3d9-36e12d04: SuSE Güvenlik Takımı <security@suse.de>
- gpg-pubkey-9c800aca-40d8063e: SuSE Paket Giriş Anahtarı <build@suse.de>
SUSE Linux 10.0
- gpg-pubkey-3d25d3d9-36e12d04: SuSE Güvenlik Anahtarı <security@suse.de>
- gpg-pubkey-9c800aca-40d8063e: SuSE Paket Giriş Anahtarı <build@suse.de>
- gpg-pubkey-15c17deb-3f9e80c9: Java Masaüstü Giriş Anahtarı <jdsbuild@sun.com>
- gpg-pubkey-0dfb3188-41ed929b: Açık Kuruluş Sunucusu <support@novell.com>
SLES9 ve OES/Linux
- gpg-pubkey-3d25d3d9-36e12d04: SuSE Güvenlik Takımı <security@suse.de>
- gpg-pubkey-9c800aca-40d8063e: SuSE Paket Giriş Anahtarı <build@suse.de>
- gpg-pubkey-15c17deb-3f9e80c9: Java Masaüstü Paket Giriş Anahtarı <jdsbuild@sun.com>
- gpg-pubkey-0dfb3188-41ed929b: Açık Kuruluş Sunucusu <support@novell.com>
- gpg-pubkey-b37b98a9-6647760c: SUSE PTF Giriş Anahtarı <support@suse.com> (from patch-11032)
- gpg-pubkey-b37b98a9-42820f17: SUSE PTF Giriş Anahtarı <support@suse.com> (obsolete; from patch-10480)
Benzer/İlgili sorunlar
RPM paket dosyalarının dışında YOU yığın bilgi dosyalarının imzalarının onaylanmasında da benzer bir sorun bulunmaktadır; bu sorun SDB:YOU Reports Problems Verifying Patch Signatures makalesinde tartışılmıştır. <keyword>YOU,rpm,signature,key,verify,verification</keyword>