Razões porque não atualizar uma versão do Ubuntu para uma versão mais recente / mais antiga do kernel [duplicado]

11

Eu tive vários amigos que me pediram para atualizar seu Ubuntu para um kernel mais novo sem alterar a versão do Ubuntu. Por exemplo, ficar em 10.04 com a versão 3.3 do Kernel.

Ao ter uma versão mais antiga ou atual do Ubuntu, muitos usuários querem aplicar a nova versão do kernel estável / instável à versão do Ubuntu que estão usando pensando que é semelhante a atualizar um programa. Então, o que estou procurando são algumas respostas simples para explicar os perigos (que são muito maiores do que as vantagens) de forçar uma nova versão do kernel em uma versão do Ubuntu que não foi feita para isso.

O que eu posso dizer a eles ou explicar-lhes por que eles NÃO devem atualizar para um kernel mais novo / antigo ao ter uma versão do Ubuntu que não foi feita para aquela versão do kernel.

    
por Luis Alvarado 07.04.2012 / 21:51

3 respostas

14

Eu entendo o seu ponto, mas também compartilho a preferência de seus amigos para ter um kernel mais recente. Pessoalmente, estou executando um kernel mainline no Ubuntu 11.10 (construído usando os fontes do kernel.org). Isso significa que sou responsável por atualizações de segurança e que não suportarei o Ubuntu porque não estou executando o kernel padrão.

Normalmente, quando a questão de atualizar um kernel ou não é levantada, a resposta seria "melhorias no suporte a estabilidade / segurança / hardware". Agora, sua pergunta parece ser sobre séries inteiras de kernel. Os riscos de usar versões mais antigas do kernel são bem claros: problemas de segurança não corrigidos, menos suporte a hardware e outros erros que podem afetar a estabilidade ou os recursos.

Ao usar uma série de kernel mais antiga do que a versão do Ubuntu foi criada para (digamos 2.6.32 onde o Oneiric é fornecido com 3.0) tem outras implicações:

  • programas do userspace que esperam recursos que estão disponíveis apenas nas versões mais recentes do kernel. Por exemplo, os discos de estado sólido suportam um parâmetro TRIM. Mesmo se o programa mount suportar programas de montagem com a opção discard para ativar o TRIM, se o kernel não tiver suporte, não funcionará. Agora, isso imprimiria um erro sobre o kernel não suportado, mas poderia ser outro recurso mais importante e assumido pelo Ubuntu. A pilha de gráficos, Xorg, depende strongmente dos recursos fornecidos pelo kernel. Se o kernel é muito antigo, a pilha do Xorg pode não ser capaz de utilizar plenamente seus recursos.

As novas séries de kernel podem ser reunidas de várias maneiras: PPAs mantidos pelo usuário , kernel.ubuntu.com ou diretamente dos repositórios do ubuntu + 1 em packages.ubuntu.com . Um possível efeito é que as APIs foram alteradas ou, de outra forma, o comportamento "padrão" de certas partes. Isso não poderia ser tão desastroso, mas programas que fazem strongs suposições sobre defaults podem não funcionar como esperado. Exemplo: relatime substituindo noatime como padrão . Questões mais sérias seriam regressões que quebram hardware (wireless é um pesadelo comum). O estoque de kernels do Ubuntu foi testado para hardware e, quando lançado, é suposto ser o melhor kernel para a maioria dos usuários do Ubuntu.

O novo suporte para alguns recursos / hardware também não é sempre bom. Se um programa ou script espera que o suporte para (...) seja interrompido e, portanto, introduza uma solução alternativa para ele, ele pode ser incompatível entre si e quebrar ambos. Por exemplo, o Bumblebee + bbswitch atualmente desativa o cartão nvidia. Se uma versão mais recente do kernel tiver um excelente suporte para esse hardware gráfico híbrido, isso poderá causar falhas.

Eu comecei a instalar um novo kernel depois que o do xorg-edgers quebrou o meu wireless e não suportou totalmente a minha placa nvidia com o módulo nouveau do kernel. O wireless funcionou de novo e o suporte nouveau foi melhor, mas uma atualização posterior tornou o wireless não confiável novamente. E outra versão posterior resolveu novamente. Bem, se você deseja viver no limite, você tem que viver com isso.

    
por Lekensteyn 07.04.2012 / 22:18
3

Os aplicativos (/ drivers) usam o kernel para se comunicar com os hardwares. O Kernel expõe APIs / funções para o aplicativo fazer isso. Com as alterações do kernel, essas funções / APIs foram alteradas com frequência. Essas novas funções podem precisar de algumas informações extras / menos (digamos, novos parâmetros). Portanto, quando um aplicativo chama essa função de maneira mais antiga, isso causará falha no sistema.

- Esse é o meu entendimento.

    
por Web-E 07.04.2012 / 22:10
1

Os drivers podem não ser compatíveis com o kernel mais novo. Mesmo alguns programas podem não funcionar corretamente. Além disso, os drivers proprietários para essa versão do Ubuntu são construídos para o kernel padrão para essa versão.

    
por Vikramjeet 07.04.2012 / 22:06

Tags