O que significa “Os seguintes pacotes foram mantidos de volta” significam?

66

Ao fazer um apt-get upgrade , às vezes recebo uma mensagem dizendo "Os seguintes pacotes foram mantidos de volta". Por exemplo:

$ sudo apt-get upgrade                                                                                                
Reading package lists... Done                                                                                                          
Building dependency tree                                                                                                               
Reading state information... Done                                                                                                      
The following packages have been kept back:                                                                                            
  linux-headers-server linux-image-server linux-server                                                                                 
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.

O que isso significa exatamente? Obviamente, os pacotes foram retidos e não instalados, mas por quê?

A pergunta seguinte seria: como atualizar esses pacotes mantidos?

    
por Charles Roper 17.05.2012 / 11:10

4 respostas

52

Se a atualização exigir que outro pacote seja excluído ou um novo pacote seja instalado, o pacote será "retido". Como a página man do apt-get upgrade explica:

Packages currently installed with new versions available are retrieved and upgraded; under no circumstances are currently installed packages removed, or packages not already installed retrieved and installed.

Para superar isso, você pode fazer

sudo apt-get --with-new-pkgs upgrade

Isso permite que novos pacotes sejam instalados. Ele permitirá que você saiba quais pacotes serão instalados e solicitará que você faça a instalação.

    
por 05.11.2015 / 18:13
18

O relatório básico é que apt-get upgrade não atualizará pacotes para os quais o gerenciador de pacotes gostaria de excluir e reinstalar o pacote. Isso acontece muito em patches de segurança porque, na maioria das vezes, eram bibliotecas precursoras da compilação distribuível final que foram corrigidas. A funcionalidade "vá em frente e apague as coisas" vive em apt-get dist-upgrade mas certifique-se de executar apt-get update primeiro apenas no caso de os caras do upstream descobrirem algo desde que você tentou pela última vez. Às vezes, eles perdem as coisas e consertam-nas rapidamente.

    
por 17.05.2012 / 11:37
2

Experimente apt-get dist-upgrade . Na página do manual:

dist-upgrade

dist-upgrade in addition to performing the function of upgrade, also intelligently handles changing dependencies with new versions of packages; apt-get has a "smart" conflict resolution system, and it will attempt to upgrade the most important packages at the expense of less important ones if necessary. So, dist-upgrade command may remove some packages. The /etc/apt/sources.list file contains a list of locations from which to retrieve desired package files. See also apt_preferences(5) for a mechanism for overriding the general settings for individual packages.

Enquanto este comando é usado para atualizar para uma nova versão principal do sistema operacional, ele não faz isso por padrão. O arquivo /etc/apt/sources.list deve ser alterado para a nova versão e então um dist-upgrade é usado.

    
por 22.09.2015 / 15:32
0

Apenas faça

sudo apt-get install linux-headers-server linux-image-server linux-server

para atualizar os pacotes mantidos.

Em seguida, execute apt-get upgrade e você ficará bem.

    
por 22.10.2013 / 00:24

Tags