web-dev-qa-db-fra.com

Comment utiliser apt-get pour mettre à jour le dernier noyau?

Mon noyau actuel est 3.2.0-26 (mon ordinateur principal) alors que sur un autre de mes ordinateurs Ubuntu, avec lequel je n'ai pas tripoté de mises à jour non officielles, il s'agit de 3.2.0-30. Pourtant, le gestionnaire de mises à jour de mon ordinateur principal n'affiche pas les mises à jour disponibles du noyau. Il montre cependant d'autres mises à jour.

Je suppose que cela est dû au fait qu’auparavant j’avais installé plusieurs versions du noyau principal (versions non recommandées), jusqu’à 3,5 * séries.

Ce que je cherche: Soit: Corrige les mises à jour automatiques du noyau. Ou: Découvrez un moyen de rechercher la dernière version officielle du noyau Ubuntu et de l'obtenir manuellement (je sais comment installer les noyaux à partir de debs).

Ce que j'ai déjà essayé: Noyaux non utilisés non installés, y compris "le générique sans numéro" selon https://askubuntu.com/a/103875/29347 et ensuite aussi https://ubuntugenius.wordpress.com/2011/01/08/ubuntu-cleanup-how-to-remove-all-unused-linux-kernel-headers-images -and-modules/

20
Bucic

Votre problème avec les mises à jour automatiques est peut-être dû au noyau principal ou à la suppression du paquetage "générique".

Vous pouvez mettre à jour le dernier noyau via apt-get comme suit:

 Sudo apt-get update 
 Sudo apt-get installer linux-image-`uname -r` 

Si vous avez également besoin des en-têtes (pour compiler des modules du noyau tels que des pilotes sans fil):

 Sudo apt-get install linux-headers-`uname -r` 
14
ish

Si vous voulez seulement mettre à jour le noyau par défaut, vous devriez pouvoir le réparer avec:

Sudo apt-get install linux-image-generic

Étant donné que linux-image-generic dépend toujours du dernier noyau par défaut de votre distribution, celui-ci est mis à niveau avec le reste des packages lorsque vous exécutez apt-get upgrade.

Pour mettre à jour un noyau autre que celui par défaut, vous pouvez le faire en exécutant ce script:

#!/usr/bin/env bash

Sudo apt-get update
kernel_release="$(uname -r | cut --complement -d'.' -f3)"
kernel_release_versions="$(apt-cache search linux-image-${kernel_release})"
kernel_release_versions_generic="$(grep linux-image-"${kernel_release_version}".*-generic <<< "$kernel_release_versions")"
newest_kernel_of_release="$(echo "$kernel_release_versions_generic" | tail -n1 | cut -d' ' -f1 )"

Sudo apt-get install $newest_kernel_of_release

Sudo apt-get dist-upgrade

Si vous avez également besoin des fichiers d'en-tête, exécutez également les opérations suivantes:

newest_kernel_of_release_headers=${newest_kernel_of_release/image/headers}

Sudo apt-get install $newest_kernel_of_release_headers
2
user6105651