As atualizações recentes do kernel do Ubuntu 16.04 (4.4.0-89 e -91) falharam muito no meu laptop. Felizmente, eu tenho a versão de trabalho anterior ainda instalada (4.4.0-57). Por enquanto, eu tenho o Grub configurado para me mostrar um menu e seleciono manualmente -57 na inicialização, mas isso parece frágil, com probabilidade de ser interrompido no futuro sudo apt upgrade
.
Eu acho que quero:
- Para remover -89 e -91, pois eles não estão me fazendo nenhum bem.
- Tornar -57 o padrão para o Grub, de maneira que persista por meio de atualizações.
- Para garantir que o -57 permaneça instalado, mesmo se eu instalar a atualização posterior do kernel
- Para poder tentar facilmente atualizações posteriores do kernel, mas volte a -57 se falhar. Minha principal preocupação é -57 sendo removida automaticamente.
- Se eu encontrar uma atualização posterior em funcionamento, é um caminho fácil para retornar para desfazer tudo isso e retornar às seguintes atualizações do kernel.
Tentar remover -91 com sudo apt remove linux-image-4.4.0-91-generic
requer que eu remova o linux-generic e o linux-headers-generic. Isso parece ruim, então eu não tentei.
Posso encontrar uma variedade de perguntas sobre o problema geral, mas nenhuma parece abordar todos os meus objetivos, e a maioria tem idade suficiente para que eu não pense mais que elas se apliquem.
Qual é a melhor forma de fazer isso?
Adendo : Isso foi sinalizado como uma duplicata de Como impedir a atualização de um pacote específico? . Essa resposta pode abordar uma parte da minha pergunta, mas não aborda o quadro geral.
Em termos gerais, o problema é que o kernel é tratado de uma maneira incomum. Ele é instalado via linux-generic, que nada mais é que uma dependência dos linux-image-generic e linux-image-headers. Esses, por sua vez, são apenas dependências dos pacotes linux-linux-image-VERSION-generic e headers-VERSION-generic, dignos de nota por inserir o número da versão no nome do pacote (presumivelmente para facilitar a instalação de vários em paralelo).
Especificamente não abordados nessa resposta são:
- Não aborda como remover -89 e -91.
- Não aborda como tornar o -57 o padrão para o Grub, mesmo que eu instale atualizações posteriores.
- Não aborda como garantir que -57 permaneça instalado, mesmo se eu instalar atualizações posteriores. Mesmo se a resposta for reter um ou mais pacotes, dados os vários pacotes envolvidos, quais eu devo reter? Se é uma questão de manter o linux-generic, como faço o downgrade primeiro?
Respostas:
Remova o kernel mais recente
Isso desinstalará os meta pacotes
linux-generic
,linux-image-generic
elinux-headers-generic
. Kernels nunca serão atualizados.Para revertê-lo, você pode executar
Isso instalará o kernel mais recente e os kernels receberão atualizações.
linux-generic
é um meta pacote. Está vazio, mas depende de outros dois meta-pacotes:linux-image-generic
elinux-headers-generic
.Os dois últimos apontam para a imagem e os cabeçalhos mais recentes do kernel.
Se você remover os meta-pacotes, nada será removido do Linux, mas a imagem e os cabeçalhos do kernel não receberão atualizações. Você sempre pode instalá-los mais tarde. Eles puxarão os mais recentes pacotes "reais" do kernel.
Portanto, a solução é remover manualmente os pacotes do kernel que você não deseja e também os meta-pacotes.
fonte
Embora a solução do Pilot6 possa ser a melhor solução, você pode tomar medidas menos drásticas.
Eu pessoalmente removeria os kernels que você não deseja do centro de software e colocaria esses pacotes em espera - consulte Como impedir a atualização de um pacote específico?
Essa é uma alteração trivial e você pode acompanhar ou reverter a alteração facilmente.
fonte
sudo apt-mark hold linux-image-generic linux-headers-generic
fará #