Auto-Updater: Requer a instalação de pacotes não confiáveis

2

Na semana recente, recebo a mensagem acima ao permitir que o atualizador automático seja executado na interface do usuário. A mensagem continua dizendo: "Isso requer a instalação de pacotes de fontes não autenticadas". Eu li que é recomendado para apt-upgrade . Mas eu não encontrei nenhuma explicação porque esta é a solução pretendida.

Eu gostaria de entender o processo de lançamentos de atualização automática, no que diz respeito a por que ele exige o apt-upgrade agora, antes de eu tocar meu sistema muito estável. Não me lembro de atualizações que exigem isso para o meu sistema nos últimos anos.

Ubuntu 14.04 LTS.

Obrigado!

    
por matt 24.03.2015 / 10:30

1 resposta

0

Para entender por que isso acontece, deve-se primeiro entender como funciona o apt (isto é, apt sem quaisquer prioridades definidas), funciona. Digamos que você queira executar uma atualização usando apt upgrade (suponho que isso é o que você entende por apt-upgrade, já que não consigo encontrar nenhuma informação sobre apt-upgrade ): primeiro, o apt verificará as versões locais de todos os softwares instalados com versões remotas em um repositório e veja se há necessidade de atualizar os pacotes. Para demonstrar, vamos criar um cenário hipotético no qual 1 pacote, sayhello , precisa ser atualizado.

Aqui está um changelog imaginário:

sayhello 1.1 now depends on libhello (>= 1.0) to print "hello."

Agora imagine que você tem duas fontes listadas em sua sources.list, sendo uma delas o repositório padrão do Ubuntu, e outra sendo Jim's amazing taco repo .

O repo de Jim contém estes 3 pacotes:

jimplayer 2.5 (No depends)
jimsbetterhello 1.0 (Depends on libhello (>= 2.0))
libhello 2.0 (No depends)

Você só usou esse repositório para instalar o jimplayer um tempo atrás, mas mais tarde parece que Jim decidiu adicionar o jimsbetterhello ao repositório. Agora é aqui que as coisas ficam interessantes ...

O repositório do Ubuntu ainda usa o libhello 1.5 por razões de compatibilidade (já que alguns pacotes não funcionam na nova versão do libhello)

Agora, quando o apt vai atualizar o sayhello , ele se depara com um enigma. Existem 2 versões do libhello que ele pode instalar! Qual deles deveria escolher? Bem, por padrão o apt irá escolher a versão mais recente de um pacote que doesn't conflict with other currently installed packages. Agora, normalmente este processo é transparente para um usuário, mas se você não adicionou as chaves GPG para um repositório de terceiros, ou as chaves mudaram ou alguma outra coisa, mesmo que você tenha instalado sayhello dos repositórios padrão do Ubuntu, o libhello 2.0 será um pacote não confiável, e o apt irá avisá-lo sobre isso. Esta é apenas uma das muitas permutações diferentes do motivo pelo qual o apt pode estar avisando sobre isso. Também pode ser devido à falta de pacotes disponíveis apenas em um repositório de terceiros que você adicionou. A melhor solução é definir os repositórios padrão para uma prioridade mais alta, bem como remover quaisquer itens de terceiros desnecessários sem que suas chaves sejam adicionadas às chaves confiáveis.

    
por joshumax 31.03.2015 / 04:05