A maioria das distribuições Linux é fornecida com uma determinada versão do kernel e a atualiza apenas em versões pontuais ( x.y.z
para x.y.(z+1)
) e para atualizações de segurança.
Por outro lado, eu sei que o Linux tem uma política muito rigorosa sobre não alterar a ABI do kernel e nunca quebrar o espaço do usuário. De fato, o Linus teve muitas birras públicas direcionadas a desenvolvedores que queriam (intencionalmente ou acidentalmente) mudar o kernel de maneiras não compatíveis com versões anteriores.
Não entendo por que as distribuições usam kernels "estáveis" em vez de sempre atualizar para o kernel mais recente. Isso não é uma crítica, estou apenas curioso sobre o motivo.
linux
linux-kernel
imgx64
fonte
fonte
Respostas:
As interfaces de chamada do sistema do kernel Linux são muito estáveis. Mas o kernel possui outras interfaces que nem sempre são compatíveis.
/proc
é praticamente estável, mas houve algumas mudanças no passado (por exemplo, algumas interfaces que se mudam para/sys
algum tempo após a/sys
criação)./sys
contém algumas interfaces estáveis (listadas emDocumentation/ABI/stable
) e outras que não são. Você não deve usar os que não são, mas às vezes as pessoas usam, e uma simples atualização de segurança e estabilidade não deve prejudicar as coisas.Em suma, o principal motivo para não mudar para uma versão mais recente do kernel são os módulos de terceiros.
No entanto, algumas distribuições oferecem kernels recentes como uma opção. Por exemplo, o Debian disponibiliza os kernels de teste para os usuários da versão estável por meio de backports. Da mesma forma, no Ubuntu LTS, os kernels de versões mais recentes do Ubuntu estão disponíveis, mas não são usados por padrão. Isso é útil principalmente para novas instalações em hardware que ainda não eram suportadas quando a distribuição foi finalizada.
fonte
Não estou trabalhando para uma distribuição, mas posso pensar em pelo menos dois motivos:
fonte
Distribuições mais conservadoras seguem (e participam ativamente) das versões estáveis do kernel, pelo bem da estabilidade. Os mais aventureiros usam uma versão do kernel uma ou mais por trás da mais recente e melhor baunilha, além de uma mancha de correções suportadas pela dica de desenvolvimento (e algumas desenvolvidas em casa).
A política atual de desenvolvimento do kernel é que a versão do Linus avança com brinquedos novos e brilhantes e não tem medo de mudanças no atacado. Algumas versões são consideradas estáveis o suficiente (em termos de desenvolvimento) para formar a base para testes e estabilização rigorosos, fornecendo séries estáveis.
Tudo isso é possível devido às ferramentas em uso, todos podem preparar sua própria árvore git , manter galhos e árvores interessantes a montante sincronizados localmente, furtar os comprometimentos de outras pessoas e compartilhar mudanças locais livremente.
fonte