Ubuntu 16.04 - pacotes do kernel foram mantidos


18

Eu corri sudo apt-get upgradee recebo isso:

The following packages have been kept back:  
linux-generic-hwe-16.04 linux-headers-generic-hwe-16.04 linux-image-generic-hwe-16.04 linux-signed-generic-hwe-16.04 linux-signed-image-generic-hwe-16.04  
0 upgraded, 0 newly installed, 0 to remove and 5 not upgraded.

Receio que, se eu correr, sudo apt-get dist-upgradealgo possa dar errado e atrapalhar minha instalação do Ubuntu. Já vi perguntas semelhantes aqui, mas acho que são diferentes do meu problema. O que devo fazer ?



@Yaron Eu não acho que é a mesma coisa.
NikosL24

É a mesma coisa. Leia as respostas.
Pzkpfw

O Apt nunca realiza operações além daquelas solicitadas explicitamente sem o feedback do usuário; basta responder à pergunta com n"no" (ou o equivalente ao idioma que o Apt usa). Se você ainda não tiver certeza do que pode acontecer durante uma operação do Apt, use as opções da linha de comando -s/ --simulate/ --just-print/ --dry-run/ --recon/ --no-actpara ver o que o Apt faria sem realmente fazê-lo.
David Foerster

Respostas:


6

Embora o tópico geral " pacotes tenham sido retidos " já tenha sido respondido aqui antes: Há algo estranho acontecendo hoje ... quando sudo apt updateexecutei algumas horas atrás, o novo kernel 4.8.0-42 foi oferecido para instalação. Eu executei sudo apt dist-upgradee após o reinício do sistema (estação de trabalho Ubuntu 16.10), eu estava executando esse novo kernel.

Algumas horas depois, eu queria atualizar minha instalação do servidor Ubuntu, mas um novo kernel não foi oferecido. Para verificar novamente a situação, restaurei minha imagem de backup do sistema clonezilla de ontem na estação de trabalho Ubuntu para verificar novamente a situação. Desta vez, o novo kernel não foi mais oferecido. Parece que o kernel 4.8.0-42 foi acidentalmente empurrado para o repositório principal e está a caminho de ser empurrado de volta para o repositório proposto - talvez a Canonical tenha encontrado um bug.

Você optou pela pilha HWE do Ubuntu 16.04, o que significa que você está usando o kernel 4.8 do Ubuntu 16.10. Portanto, tudo acontece com o kernel no Ubuntu 16.10 primeiro, uma possível explicação para o atraso do processo de atualização dos repositórios LTS do Ubuntu 16.04.

Quando você corre sudo apt updateum pouco mais tarde novamente, a mensagem recebida não deve mais aparecer. Conclusão: Não execute sudo apt dist-upgradee espere até que os repositórios sejam atualizados e a mensagem sobre os pacotes de kernel retidos não apareça mais. A propósito, exatamente o mesmo aconteceu com a versão 4.8.0-40 do kernel já há algum tempo.


O Índice de Pacotes relata 4.8.0-42: packages.ubuntu.com/xenial-updates/linux-generic-hwe-16.04 ... qual espelho você está usando?
Muru

Definitivamente, isso é um problema / coisa real. Atualizei meu sistema ontem usando o processo normal. Hoje apt-cache policy linux-generic-hwe-16.04mostras *** 4.8.0.42.14 100 100 /var/lib/dpkg/status Em outras palavras, ele ficou órfão.
Organic Marble

@ cl-netbox Eu fiz uma atualização do sudo apt-get novamente agora e os pacotes desapareceram.
NikosL24

12

Se a atualização de um pacote existente exigir a instalação de um "novo" pacote (por exemplo, ainda não instalado), esse pacote existente em particular será "retido".

De acordo com o man apt-get , upgradepor padrão, não instala outros pacotes ainda não instalados:

melhoria

... sob nenhuma circunstância os pacotes atualmente instalados são removidos ou os pacotes ainda não instalados são recuperados e instalados.

--with-new-pkgs

Permitir a instalação de novos pacotes quando usados ​​em conjunto com a atualização. Isso é útil se a atualização de um pacote instalado exigir que novas dependências sejam instaladas. Em vez de reter o pacote, a atualização atualizará o pacote e instalará as novas dependências. ...

portanto, --with-new-pkgsprecisa ser adicionado para permitir a inclusão dos outros pacotes relacionados.

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

--with-new-pkgs permite que os pacotes "ainda não instalados" relacionados sejam instalados com um prompt interativo Y / n.

Além disso, como um benefício adicional, sudo apt-get --with-new-pkgs upgradeNÃO tem um efeito colateral de causar a marcação de pacotes como instalados manualmente.


Atualizar

O Ubuntu 18.04 fornece uma sintaxe simplificada e mais nova, aptque pode ser usada em vez de apt-get.

sudo apt full-upgrade

O conjunto "se um pacote exigir a instalação de um novo pacote", será retido não faz sentido para mim. Eu tenho meu próprio pacote deb que eu gerencio, e se eu adicionar uma dependência que não está instalada no meu sistema, o apt upgrade ainda atualizará o pacote e não o manterá.
Shreddish

@shreddish Na minha experiência, alguns sudo apt-get upgradecenários precisam das --with-new-pkgsinformações da página de manual. Aparentemente, o pacote deb que você gerencia, ou o cenário de teste que está sendo usado , não aciona a necessidade da --with-new-pkgsopção com uma dependência desinstalada adicionada ... por algum motivo ainda a ser descoberto. Seria interessante saber se você conseguiu isolar o motivo.
L / marc l

2

Sendo um usuário relativamente novo do Ubuntu, encontrei o mesmo problema e aparentemente o resolvi. Eu descobri que havia três atualizações pendentes no Ubuntu Software com os mesmos nomes dos listados no terminal, conforme listado abaixo:

The following packages have been kept back:
linux-generic-hwe-16.04 linux-headers-generic-hwe-16.04 linux-image-generic-hwe-16.04
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.

Depois de instalar essas atualizações do Ubuntu Software, voltei ao Terminal e fiz sudo apt-get updatee sudo apt-get upgrade. O resultado:

The following packages were automatically installed and are no longer required:
  linux-headers-4.8.0-41 linux-headers-4.8.0-41-generic linux-headers-4.8.0-44 linux-headers-4.8.0-44-generic linux-image-4.8.0-41-generic
  linux-image-4.8.0-44-generic linux-image-extra-4.8.0-41-generic linux-image-extra-4.8.0-44-generic
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Não sendo um especialista, acho que a instalação de atualizações do Ubuntu Software parece resolver o problema. E o problema parece ser que não há comunicação completa entre o software Ubuntu e os pacotes de atualização e atualização do apt-get. Tenho certeza de que você encontrará uma explicação melhor, mas queria compartilhar isso com você.


Obrigado. Geralmente, o Ubuntu nos aconselha a não usar o aptitude ou o sináptico (removendo-os da instalação padrão. Talvez seja a direção na qual procurar respostas. Tentarei evitar esses dois por enquanto. Assim que vi sua resposta, corro . de software Centro e ele mostrou-me coisas apt estava ignorando Desde que o oS é construído pelo Ubuntu, eu WTI para SC é um pouco como discutir com a AppStore quando. homebrew faz reivindicações.
nyxee

portanto, este centro de software parece ser uma solução muito ruim para aqueles de nós com más conexões. existe outro caminho?
precisa saber é
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.