apt diz que os pacotes foram mantidos, o que fazer?

11

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 isso significa? Devo agir? Se sim, o que?

    
por Jarle Hammen Knudsen 01.08.2016 / 12:12

4 respostas

12

Quick & Solução EASY:

Eu tive o mesmo problema, inúmeras vezes. NÃO faça sudo apt-get dist-upgrade primeiro. Muito importante.

Por quê?

Ele pode tornar seu sistema muito instável, os programas podem travar e você pode perder muitas funcionalidades em seu sistema operacional.

Não tive problemas com a solução que fornecerei.

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.

Faça isso:

apt list --upgradable
  • Isso mostrará uma lista de pacotes que podem ser atualizados.

Próximo:

  • Comece no início da lista com o primeiro pacote e digite:

    sudo apt-get install package-name-here

Isso será executado no processo de instalação e nas dependências pull / install. Quando isso terminar, faça isso:

apt list --upgradable

Isso mostrará novamente quais pacotes podem ser atualizados. Sua lista de pacotes deve estar diminuindo. Basta seguir a lista de pacotes e apt list --upgradable após cada instalação do pacote. Levará apenas alguns minutos.

Se esta solução funcionou para você, por favor, não se esqueça de fazer o upvote para que a solução correta esteja disponível para os outros e esteja no topo da lista de respostas.

Obrigado.

    
por 29.10.2017 / 10:29
10

What does this mean?

The following packages have been kept back:

A resposta é aqui

This means that there are new versions of these packages which will not be installed for some reason. Possible reasons are broken dependencies (a package on which it depends doesn't have a version available for download) or new dependencies (the package has come to depend on new packages since the last version).

Devo agir?

Você precisa usar dist-upgrade para instalar as novas dependências e atualizar os pacotes:

sudo apt-get dist-upgrade

O problema pode ser resolvido executando dist-upgrade se você não precisa:

Corrigir dependências quebradas

sudo apt-get -f install 

Remova alguns pacotes que não estão mais instalados no seu sistema:

sudo apt-get autoclean

Coloque o pacote desejado em espera:

echo "<package_name> hold" | dpkg --set-selections

Reconfigure o pacote nomeado:

dpkg-reconfigure <package_name>
    
por 03.08.2016 / 14:16
2

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 do 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 digite 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. Também você pode colocá-los como é como uma lista (basta copiar e colar). Como exemplo no meu caso eu posso entrar

sudo apt-get install gnome-software gnome-software-common linux-generic linux-headers-generic linux-image-generic snapd ubuntu-core-launcher ubuntu-software

Se você quiser fazer

sudo apt-get dist-upgrade

por algum motivo, apenas certifique-se de inspecionar a lista de pacotes usando a opção de simulação -s ( sudo apt-get -s dist-upgrade ), ou sem a opção -s você pode finalizar a execução antes de aceitar. (você sempre pode escolher a opção não)

    
por 15.12.2016 / 05:39
0

De este Unix Resposta do SE :

Em primeiro lugar, como mencionado acima, por favor NÃO dist-upgrade de qualquer sistema de produção! Embora dist-upgrading irá "resolver" pacotes de volta definitivamente não é a solução para esta questão e vai bastante provável causa mais sofrimento do que bem 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, ele será "retido" ao executar sudo apt-get upgrade .

Como mencionado acima, você pode instalar esses pacotes "mantidos para trás" manualmente executando sudo apt-get install [paste kept back packages here] 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 "mantidos para trás" enquanto não estiver marcando os pacotes "mantidos para trás" como instalados manualmente, execute sudo apt-get --with-new-pkgs upgrade .

    
por 17.07.2018 / 22:40