Por que existem tantos pacotes de kernel “linux-” na minha máquina e o que todos eles fazem?

31

No meu uso do Ubuntu, notei uma variedade desconcertante de diferentes pacotes de kernel do Linux. Alguns deles estão listados abaixo:

  • linux-generic
  • linux-headers-generic
  • linux-headers-generic-pae
  • linux-headers-x.x.xx-xx
  • linux-headers-x.x.xx-xx-generic
  • linux-image-generic
  • linux-image-generic-pae
  • linux-image-x.x.xx-xx-generic
  • linux-image-x.x.xx-xx-generic-pae
  • linux-image-extra-x.x.xx-xx-generic
  • linux-image-extra-x.x.xx-xx-generic-pae

Minha pergunta é: por que existem tantos pacotes de kernel diferentes, geralmente para o mesmo número de versão (por exemplo, 3.5.0-24) e quais são as diferenças entre eles?

Editar para deduplicar: Esta pergunta não está perguntando sobre as diferenças entre pacotes genéricos, de servidor e de kernel virtual; em vez disso, está perguntando sobre o que são todos esses pacotes (assim como os da lista).

fouric
fonte
1
Esta questão e askubuntu.com/questions/175495 são (obviamente) diferentes. Como também podemos ver pelas respostas bem diferentes. É uma pergunta válida por si só. Desduplicar.
Nils Toedtmann

Respostas:

32

Um pacote de imagem do kernel está relacionado à imagem e aos módulos do kernel carregados quando o sistema operacional é inicializado. Um pacote de cabeçalho fornece arquivos necessários para criar módulos de kernel fora da árvore e / ou alguns outros programas a partir da fonte.

linux-image-generic

Geralmente você instala o linux-image-genericpacote. Esse é um meta-pacote que não envia nenhum arquivo em si. Em vez disso, depende da versão mais recente do kernel fornecida pelo Ubuntu, por exemplo linux-image-3.8.0-19-generic. Este pacote é necessário para receber atualizações do kernel.

linux-headers-generic

Uma história semelhante vale para o linux-headers-genericpacote. Você precisará instalar este pacote se usar módulos de kernel externos, como drivers de vídeo proprietários. O linux-genericpacote é um meta-pacote que garante que os pacotes linux-headers-generice linux-image-genericestejam instalados.

-generic-pae

Esta é uma variante dos -genericpacotes. Veja Qual é o significado de "-pae" no final da versão do kernel?

linux-image-extra- *

Este pacote foi introduzido no Ubuntu 12.10 e fornece módulos adicionais do kernel (drivers). Veja Para que serve o pacote linux-image-extra e eu preciso dele? .

Por que vários pacotes linux com os diferentes números de versão?

O kernel é uma parte crítica do seu sistema. As versões mais recentes do kernel podem apresentar um bug que o impossibilita de iniciar o sistema com êxito. Com vários kernels instalados simultaneamente, você pode alterar a versão do kernel no menu de inicialização.

Lekensteyn
fonte
1
Essa é uma resposta útil, especialmente nos dois meta-pacotes diferentes e no que eles fazem quando instalados. obrigado!
tuk0z
5

Geralmente, quando você faz um apt-get dist-upgrade, ele atualiza tudo o que está disponível, incluindo o seu kernel. O Ubuntu geralmente mantém a versão 3 ou 4 do kernel (se bem me lembro), apenas para o caso de o novo kernel causar grandes problemas ou problemas. Se o novo kernel não funcionar bem em seus drivers, etc, você poderá inicializar novamente no kernel mais antigo. É pra isso que isto serve. Você pode remover o kernel usando o apt-get remove linux-kernel- * ou usando o Synaptic Package Manager (que deve ser instalado separadamente). Mas seria mais seguro deixar pelo menos uma versão mais antiga do kernel como backup.

CripperZ.SG Freelance
fonte