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

21

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

Je soupçonne que cela est dû au fait que dans le passé, j'ai installé plusieurs versions du noyau principal (versions non recommandées), jusqu'à la série 3.5 *.

Ce que je recherche: Soit: Correction des mises à jour automatiques du noyau. Ou: Découvrez un moyen de vérifier 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 inutilisés non installés, y compris "le générique sans numéro" selon /ubuntu//a/103875/29347 , puis également https://ubuntugenius.wordpress.com/2011/01/ 08 / ubuntu-cleanup-how-to-remove-all-used-linux-kernel-headers-images-and-modules /

Bucic
la source

Réponses:

14

Votre problème avec les mises à jour automatiques peut être dû aux noyaux de la ligne principale ou au fait que vous avez supprimé le package "générique".

Vous pouvez mettre à jour vers le dernier noyau via apt-getcomme suit:

mise à jour sudo apt-get
sudo apt-get install linux-image-`uname -r`

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

sudo apt-get install linux-headers-`uname -r`
ish
la source
7
Le retour que j'obtiens est que «linux-image-3.2.0-26-generic est déjà la dernière version». alors qu'en fait ce n'est pas le cas (voir la question d'origine). Êtes-vous sûr de m'avoir donné les bonnes commandes de terminal? Je ne suis pas un expert en la matière, mais pour moi, les commandes se traduisent par "mettre à jour le noyau vers la même version que vous avez déjà installée et utilisée".
Bucic
7
Pourriez-vous expliquer ce que cela est censé faire? linux-image-`uname -r`essaie simplement de réinstaller le noyau que vous avez déjà, alors comment est-ce utile de quelque façon que ce soit?
Asad Saeeduddin
3

Dans le cas où vous souhaitez uniquement mettre à jour le noyau par défaut, vous devriez pouvoir le corriger avec:

sudo apt-get install linux-image-generic

Comme cela linux-image-genericdépend toujours du dernier noyau par défaut de votre distribution, le noyau est mis à niveau avec le reste des packages lorsque vous exécutez apt-get upgrade.

Lorsque vous souhaitez mettre à jour un noyau non 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 en outre ce qui suit:

newest_kernel_of_release_headers=${newest_kernel_of_release/image/headers}

sudo apt-get install $newest_kernel_of_release_headers
user6105651
la source
1
Je pense que OP recherche le dernier noyau principal / stable
WinEunuuchs2Unix