A saída de apt-get upgrade
é:
The following packages have been kept back:
certbot python-acme python-certbot python-certbot-apache python-cryptography python-openssl
O que isto significa? Devo agir? Se sim, o que?
fonte
A saída de apt-get upgrade
é:
The following packages have been kept back:
certbot python-acme python-certbot python-certbot-apache python-cryptography python-openssl
O que isto significa? Devo agir? Se sim, o que?
Eu tive o mesmo problema várias vezes. NÃO faça
sudo apt-get dist-upgrade
primeiro. Muito importante. **** NOTA: Esta solução é para máquinas baseadas no Debian, mas não funcionará no KDE Neon . Para atualizar o KDE Neon, você deve usarsudo pkcon update
. ****
Isso pode tornar seu sistema muito instável, os programas podem falhar e você pode perder muitas funcionalidades no seu sistema operacional.
Você DEVE instalar cada pacote individualmente, NO ENTANTO , durante esse processo, outras dependências também serão instaladas automaticamente e seu problema será resolvido em apenas alguns minutos.
Não tive problemas com a seguinte solução. É bastante rápido e fácil.
apt list --upgradable
sudo apt-get install package-name-here
apt list --upgradable
apt list --upgradable
após cada instalação do pacote. Isso deve levar apenas alguns minutos para ser concluído.
sudo apt-get autoclean
sudo apt-get update && sudo apt-get dist-upgrade
Se essa solução funcionou para você, não se esqueça de fazer um voto positivo para que a solução correta esteja disponível para outras pessoas e fique no topo da lista de respostas.
Se, por algum motivo, esta solução não funcionar, consulte a resposta do usuário GAD3R abaixo. Também é uma boa solução.
Obrigado.
A resposta está aqui
Devo agir?
Você precisa usar
dist-upgrade
para instalar as novas dependências e atualizar os pacotes:O problema pode ser resolvido executando,
dist-upgrade
se não for necessário:Corrigir dependências quebradas
Remova alguns pacotes que não estão mais instalados no seu sistema:
Coloque o pacote desejado em espera:
Reconfigure o pacote nomeado:
fonte
A partir desta resposta do Unix SE :
Em primeiro lugar, como mencionado acima, NÃO atualize distintamente nenhum sistema de produção! Embora a atualização dist "resolva" os pacotes atrasados, definitivamente não é a solução para esse problema e provavelmente causará mais sofrimento do que benefícios se você executá-lo sem conhecer as implicações em seu sistema.
Se a atualização de um pacote exigir a instalação de pacotes adicionais, ela será "retida" ao executar
sudo apt-get upgrade
.Como mencionado acima, você pode instalar manualmente
sudo apt-get install [paste kept back packages here]
esses pacotes "retidos" executando explicitamente, mas isso marcará esses pacotes como "instalados manualmente", o que geralmente não é o que queremos.Para instalar automaticamente quaisquer pacotes adicionais necessários para atualizar os pacotes "retidos", sem marcar os pacotes "retidos" como instalados manualmente, basta executar
sudo apt-get --with-new-pkgs upgrade
.fonte
--with-new-pkgs
e os efeitos colaterais de outras alternativas aqui .Eu incluí esta resposta no meu blog. Se você quiser ver que você pode ir lá a partir deste link .
O erro acima é muito comum no terminal Ubuntu quando você tenta atualizar (
apt-get upgrade
). Isso geralmente acontece porque as dependências de um pacote que você instalou foram alteradas. Para atualizar, você precisa atualizá-los também primeiro. Portanto, é muito simples resolver isso. Você poderá ver os pacotes que ficaram abaixo dessa mensagem de erro. Como exemplo, posso ver os seguintes pacotes na lista:gnome-software gnome-software-common linux-generic linux-headers-generic linux-image-generic snapd ubuntu-core-launcher ubuntu-software
Não basta digitar
sudo apt-get dist-upgrade
É muito perigoso, pois instala todas as atualizações pendentes. Isso pode levar seu ambiente de trabalho a um estado altamente instável.Portanto, minha opinião é usar famosos
sudo apt-get install [package]
Você pode substituir
[package]
por qualquer pacote que esteja na mensagem de erro. Além disso, você pode colocá-los como estão em uma lista (basta copiar e colar). Como um exemplo no meu caso, posso inserirsudo apt-get install gnome-software gnome-software-common linux-generic linux-headers-generic linux-image-generic snapd ubuntu-core-launcher ubuntu-software
Se você quer fazer
sudo apt-get dist-upgrade
por algum motivo, apenas verifique a lista de pacotes usando a opção simular
-s
(sudo apt-get -s dist-upgrade
), ou sem a-s
opção de terminar a execução antes de aceitar. (você sempre pode escolher a opção não)fonte
Recentemente, uma atualização de segurança do Debian introduziu algumas novas dependências. Nesse caso, o
linux-image
pacote começou a exigirlinux-firmware
, entre alguns outros. Então eles foram retidos e não foram instalados porunattended-upgrade
. Após alguns testes e confirmações, consegui instalar seletivamente apenas esses pacotes, sem tocar em outras atualizações pendentes:apt-get -yy install $(apt-get -s upgrade | sed '1,/kept back/d;/will be upgraded/,$d')
fonte
Este artigo resume bem por que isso acontece:
A solução para isso é instalá-los explicitamente com o
Você provavelmente deseja marcar esses pacotes como instalados automaticamente, a menos que você se preocupe com eles e não apenas para satisfazer dependências.
Para evitar que isso aconteça em primeiro lugar, recomendo usar
para atualizar pacotes no futuro, o que permite a instalação de novos pacotes para satisfazer mudanças nas dependências.
fonte
--with-new-pkgs
! E deixe-me enfatizar novamente que " NÃO atualize distintamente nenhum sistema de produção! Embora a atualização dist" resolva "os pacotes retidos, definitivamente não é a solução para esse problema e provavelmente causará mais sofrimento do que benefícios se você execute-o sem conhecer as implicações no seu sistema ".