Force update do repositório não assinado Ubuntu 16.04

40

Eu estou usando um repositório não assinado no Ubuntu 16.04 do Debian multimedia deb http://www.deb-multimedia.org jessie main

Para instalar o deb-multimedia-keyring que estou executando apt-get update && apt-get install deb-multimedia-keyring -y

Isso gera um erro

W: GPG error: http://www.deb-multimedia.org jessie InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 5C808C2B65558117
E: The repository 'http://www.deb-multimedia.org jessie InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

Obrigado antecipadamente

    
por Shan 13.02.2016 / 02:13

5 respostas

25

Você pode ignorar algumas salvaguardas importantes usando a seguinte opção:

--allow-unauthenticated

Nas man pages do apt-get:

--allow-unauthenticated
    Ignore if packages can't be authenticated and don't prompt about
    it. This can be useful while working with local repositories, but
    is a huge security risk if data authenticity isn't ensured in
    another way by the user itself. The usage of the Trusted option for
    sources.list(5) entries should usually be preferred over this
    global override. Configuration Item:
    APT::Get::AllowUnauthenticated.

Mas seja um pouco cauteloso ao usar essa opção mais amplamente, as salvaguardas estão em vigor para proteger seu computador e não limitar sua liberdade ...

    
por andrew.46 13.02.2016 / 02:29
18

Você pode definir opções no seu sources.list :

deb [trusted=yes] http://www.deb-multimedia.org jessie main

A opção confiável é o que desativa a verificação de GPG. Veja man 5 sources.list para detalhes.

    
por Prathu Baronia 29.06.2018 / 22:17
6

Outra solução genérica seria

sudo apt-key adv --keyserver pgp.mit.edu --recv-keys 5C808C2B65558117

Nota: Eu não testei a solução com este repositório, mas fiz isso com o repositório do Skype e funcionou muito bem.

Outra solução específica para o seu caso é instalar as chaves

wget http://www.deb-multimedia.org/pool/main/d/deb-multimedia-keyring/deb-multimedia-keyring_2012.05.05_all.deb -O deb-multimedia-keyring.deb
sudo dpkg -i multimedia-keyring_all.deb

Como descrito na descrição completa do Aqui

    
por fady mohamed osman 06.04.2017 / 21:45
3

Se você está tentando pegar um pacote de um repositório onde eles empacotaram as chaves e incluí-los dentro do repositório e em nenhum outro lugar, pode ser muito chato baixar e instalar o pacote key / keyring usando o dpkg, e muito difícil para fazê-lo de uma maneira facilmente programável e repetível.

O script abaixo não é recomendado se você puder instalar as chaves de um servidor de chaves (como recomendado em outra resposta usando apt-key adv ) ou se você pode baixá-las de uma fonte confiável via https e instalar usando o apt-keywget https://trusted.key.site/my-trusted-key.gpg | sudo apt-key add -), mas se você não tiver QUALQUER outra maneira, você pode usar isso.

echo "deb http://your.repo.domain/repository/ $(lsb_release -c -s) universe" | sudo tee /etc/apt/sources.list.d/your-repo-name.list

sudo apt -o Acquire::AllowInsecureRepositories=true \
-o Acquire::AllowDowngradeToInsecureRepositories=true \
update

## if the 'apt update' above fails it is likely due to previously
## having the GPG key and repository on the system, you can clean
## out the old lists with 'sudo rm /var/lib/apt/lists/your.repo.domain*'

apt-get -o APT::Get::AllowUnauthenticated=true install repo-keyring-pkgname

## If you ever run 'sudo apt-key del your-repos-keyID'
## you may have to 'sudo apt remove --purge repo-keyring-pkgname'
## Update should run without the GPG warnings now that the key is installed

apt-get update
apt-get install somepkg-from-repo

Eu originalmente juntei isso porque o i3 em seu repositório sur5r faz isso, mas depois descobri que suas chaves estão na lista keyserver.ubuntu.com, então eu posso apenas sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E3CA1A89941C42E6 e evitar todos os aborrecimentos extras de pacotes. / p>     

por dragon788 01.09.2017 / 22:10
2

Você pode obter o PUBLIC_KEY do servidor de chaves e adicioná-lo ao apt-key. Supondo que o servidor de chaves seja pgpkeys.mit.edu , primeiro você precisa digitar:

gpg --keyserver pgpkeys.mit.edu --recv-key KEY_IN_ERROR
gpg -a --export KEY_IN_ERROR | sudo apt-key add -

Substitua a chave KEY_IN_ERROR pela mensagem de erro, ou seja, 5C808C2B65558117.

Além disso, se você estiver realmente interessado em adicionar um repositório não assinado, poderá adicionar o sinalizador a na entrada do repositório desejada em sources.list da seguinte forma:

deb [allow-insecure=yes] http://www.deb-multimedia.org jessie main

Isso é realmente útil se você deseja ajustar suas configurações de segurança para entradas individuais.

    
por leonidas 04.05.2018 / 08:05