Atualizador automático: requer instalação de pacotes não confiáveis ​​

Atualizador automático: requer instalação de pacotes não confiáveis ​​

Nas últimas semanas, recebi a mensagem acima ao permitir que o atualizador automático fosse 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 apt-upgrade. Mas não encontrei nenhuma explicação de por que esta é a solução pretendida.

Eu gostaria de entender o processo de lançamentos de atualização automática, em relação ao porquê disso ser necessário apt-upgradeagora, antes de tocar em meu sistema, que de outra forma seria muito estável, dessa forma. Não me lembro de atualizações que exijam isso para meu sistema nos últimos anos.

Ubuntu 14.04 LTS.

Obrigado!

Responder1

Para entender por que isso acontece, deve-se primeiro entender como funciona o stock apt (ou seja, apt sem nenhuma prioridade definida). Digamos que você queira executar uma atualização usando apt upgrade(presumo que seja isso que você quer dizer com 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 é necessário haver uma atualização de pacotes. Para demonstrar, vamos criar um cenário hipotético em que 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 seu sources.list, uma sendo os repositórios padrão do Ubuntu e outra sendo Jim's amazing taco repo.

O repositório 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 este repositório para instalar o jimplayer há algum tempo, mas mais tarde parece que Jim decidiu adicionar jimsbetterhello ao repositório. Agora é aqui que as coisas ficam interessantes...

Os repositórios do Ubuntu ainda usam a libhello 1.5 por motivos de compatibilidade (já que alguns pacotes ainda não funcionam na nova versão da libhello)

Agora, quando apt vai para upgrade sayhello, ele se depara com um enigma. Existem 2 versões que libhellopodem ser instaladas! Qual deles deveria escolher? Bem, por padrão o apt escolherá a versão mais recente de um pacote que doesn't conflict with other currently installed packages.Agora, normalmente esse processo é transparente para o usuário, mas se você não adicionou as chaves GPG para um repositório de terceiros, ou as chaves foram alteradas ou alguma outra coisa , mesmo que você tenha instalado sayhelloa partir 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 de por que o apt poderia estar alertando você 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 alternativa é definir os repositórios padrão com uma prioridade mais alta, bem como remover quaisquer repositórios desnecessários de terceiros sem que suas chaves sejam adicionadas ao conjunto de chaves confiável.

informação relacionada