"Kesalahan GPG: Rilis: Tanda tangan berikut tidak valid: BADSIG"

88

Saya menjalankan perintah ini di Terminal:

sudo apt-get update

Memperbarui diakhiri dengan laporan kesalahan berikut:

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 <[email protected]>

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  

Apa artinya ini dan mengapa itu terjadi?

beeju
sumber
4
Saya melihat masalah serupa ketika saya pertama kali menginstal 12,04. Setelah itu saya mengubah "Sumber Perangkat Lunak" dari manajer perangkat lunak dari India ke server lain. Sekarang saya tidak melihat masalah ini. Jika Anda menggunakan server India, ubah dan beri tahu kami.
Abhijeet
Abhijeet Thanx. Saya seorang India tetapi tinggal di sini di Qatar. Saya mengubah server ke Arab Saudi. Tetapi hasilnya sama.
beeju

Jawaban:

90

Coba ini:

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
TuanCharlo
sumber
4
Tidak perlu membuat partialsubdirektori. sudo apt-get updateakan melakukannya sendiri.
Byte Commander
9
setelah melakukan hal di atas saya masih mendapatkan kesalahan ini: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
Mungkin ada baiknya menjawab pertanyaan yang diajukan (dan mendapatkan lebih banyak upvotes ;-)).
Witold Kaczurba
kesalahan ditemukan pada langkah kedua:mv: cannot move '/var/lib/apt/lists' to '/tmp/lists': Directory not empty
Pengguna Internet
Bisakah Anda menguraikan apa sebenarnya ini? Terima kasih,
Hendrik
64

Pesan ini ditampilkan karena kunci gpg untuk repositori tersebut tidak ada dalam database apt-key Anda.

Untuk mengimpor kunci, buka terminal dan masukkan perintah ini

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

Kunci pgp sebagian besar didistribusikan di beberapa keystore. Kunci terkait Ubuntu biasanya ditemukan di keyserver.ubuntu.com. Tetapi jika itu gagal, Anda dapat menggunakan alternatif. Suka -

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

Anda harus mengganti bagian alfanumerik, dengan tombol khusus. Pastikan kuncinya adalah yang Anda percayai . Setiap repositori dengan kunci ini, akan dapat menginstal paket apa pun tanpa peringatan.

Anda akan melihat output berikut jika di atas berhasil

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

Kemudian jalankan perintah ini:

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

Perhatikan -tanda setelahnya add.

Kemudian sudo apt-get update, Anda tidak akan memiliki pesan seperti itu setelah ini.

Anwar
sumber
1
Hai @ anwar di mana / bagaimana saya mendapatkan kunci yang saya percayai?
Minnie Shi
1
@MinnieShi Kuncinya ada di pesan kesalahan itu sendiriThe following signatures were invalid: BADSIG 16126D3A3E5C1192
Kalyan Raghu
1
Perhatikan bahwa apt-key addperintah harus mengembalikan "OK".
COil
Hebat, seharusnya jawaban yang diterima! Terima kasih.
Yakub
13

Saya menemukan itu hanya melakukan

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

bekerja untukku.

intuisi
sumber
Gunakan sudo rm -rf / var / lib / apt / daftar / * && sudo mkdir -p / var / lib / apt / daftar untuk melestarikan apa pun yang mungkin memiliki izin dengan var / lib / apt / list
131
1
Tidak perlu membuat partialsubdirektori. sudo apt-get updateakan melakukannya sendiri.
Byte Commander
9

Anda dapat mencoba skrip saya untuk secara otomatis menerima semua kunci GPG untuk PPA yang Anda gunakan: smartupdate.sh .

Ini akan diluncurkan apt-get update, kemudian temukan semua kesalahan GPG dan terima kunci untuk tanda tangan GPG yang ditemukan. Dalam kasus Anda, itu hanya akan diluncurkan

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

tetapi ketika Anda menambahkan beberapa PPA yang tidak ditandatangani, menjadi membosankan untuk menambahkan kunci GPG secara manual. :)

Max Alibaev
sumber
6

Perintah berikut memecahkan masalah bagi saya:

sudo -i
apt-get clean
cd /var/lib/apt
mv lists lists.old
mkdir -p lists/partial
apt-get clean
apt-get update
Chirag
sumber
1
Tidak perlu membuat partialsubdirektori. sudo apt-get updateakan melakukannya sendiri.
Byte Commander
4

Saya mendapat kesalahan serupa. Tetapi alih-alih BADSIGsaya mendapatkan KEYEXPIREDrepo PostgreSQL:

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

Solusi ini dijelaskan dengan sempurna di sini, tetapi inilah yang saya lakukan untuk menyelesaikannya:

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

Dan sekarang $ sudo apt-get updateakan bekerja dengan sempurna!

UlfR
sumber
1

Kiat ini (dari actionparsnip ) bekerja untuk saya:

Mencoba:

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

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

ebasconp
sumber
1

Ini bisa jadi karena masalah caching dari proxy HTTP. Jika Anda memiliki salah satu dari mereka di suatu tempat di sepanjang rute seperti saya, Anda dapat meminta Apt untuk memintanya untuk menghindari cache sementara:

sudo apt-get update -o Acquire::http::No-Cache=True
Dhinesh Sunder Ganapathi
sumber
-2

Anda dapat menggunakannya launchpad-getkeysuntuk memperbaikinya. Buka terminal dan masukkan:

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

Kemudian

sudo apt-get update
nastys
sumber