Tente isto:
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
Eu executei este comando no terminal:
sudo apt-get update
A atualização termina com o seguinte relatório de erros:
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
O que isso significa e por que isso está acontecendo?
Tente isto:
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
Esta mensagem está sendo exibida porque a chave gpg desse repositório está faltando no banco de dados de apt-key.
Para importar a chave, abra um terminal e insira estes comandos
gpg --keyserver keyserver.ubuntu.com --recv-keys 16126D3A3E5C1192
As chaves pgp são distribuídas principalmente em vários keystore. Chaves relacionadas ao Ubuntu são geralmente encontradas em keyserver.ubuntu.com
. Mas se isso falhar, você pode usar alternativas. Como -
gpg --keyserver hkp://subkeys.pgp.net --recv-keys 16126D3A3E5C1192
Você deve substituir a parte alfanumérica pela chave específica. Certifique-se de que a chave é uma que você confia . Qualquer repositório com esta chave, seria capaz de instalar qualquer pacote sem aviso prévio.
Você veria a seguinte saída se o acima for bem-sucedido
gpg: Total number processed: 1
gpg: imported: 1
Em seguida, execute este comando:
gpg --export --armor 16126D3A3E5C1192 | sudo apt-key add -
Observe o sinal -
após add
.
Então sudo apt-get update
, você não terá essas mensagens depois disso.
Eu descobri que apenas fazendo
sudo rm -rf /var/lib/apt/lists
sudo mkdir /var/lib/apt/lists
funcionou para mim.
Você pode tentar meu script para receber automaticamente todas as chaves GPG para os PPAs que você usa: smartupdate .sh .
Ele lançará apt-get update
, localizará todos os erros GPG e receberá as chaves das assinaturas GPG encontradas. No seu caso, apenas será lançado
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4C1CBC1B69B0E2F4
mas quando você adiciona alguns PPAs não assinados, torna-se entediante adicionar chaves GPG manualmente. :)
Os seguintes comandos resolveram o problema para mim:
sudo -i
apt-get clean
cd /var/lib/apt
mv lists lists.old
mkdir -p lists/partial
apt-get clean
apt-get update
Eu recebi um erro semelhante. Mas em vez de BADSIG
, recebi KEYEXPIRED
para o repositório do 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
A solução está perfeitamente descrita aqui mas foi o que fiz para resolvê-lo:
$ 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 -
E agora $ sudo apt-get update
funcionará perfeitamente!
Esta dica (de actionparsnip ) funcionou para mim:
Tente:
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
Encontrado em: link
Isso pode ser devido a um problema de cache de um proxy HTTP. Se você tem um desses em algum lugar ao longo da rota como eu, você pode pedir ao Apt que peça para contornar o cache temporariamente:
sudo apt-get update -o Acquire::http::No-Cache=True
Você pode usar launchpad-getkeys
para corrigir isso.
Abra um terminal e digite:
sudo apt-get install launchpad-getkeys
sudo launchpad-getkeys
Então
sudo apt-get update
Tags apt