如何使用 apt-get 更新到最新内核?

如何使用 apt-get 更新到最新内核?

我当前的内核是 3.2.0-26(我的主计算机),而在我的另一台 Ubuntu 计算机上(我没有使用非官方更新),内核是 3.2.0-30。然而,我主计算机上的更新管理器没有显示可用的内核更新。但它显示了其他更新。

我怀疑这是由于过去我安装了多个主线内核版本(不是推荐的版本),最高到3.5*系列。

我追求的是:要么:修复自动内核更新。要么:了解检查最新官方 ubuntu 内核版本并手动获取的方法(我知道如何从 debs 安装内核)

我已经尝试过:卸载未使用的内核,包括“没有编号的通用内核”,如下所示https://askubuntu.com/a/103875/29347然后还有https://ubuntugenius.wordpress.com/2011/01/08/ubuntu-cleanup-how-to-remove-all-unused-linux-kernel-headers-images-and-modules/

答案1

自动更新的问题可能是由于主线内核或因为您删除了“通用”包。

apt-get您可以通过如下方式更新到最新内核:

sudo apt-get 更新
sudo apt-get 安装 linux-image-`uname -r`

如果您还需要标头(以编译内核模块,例如无线驱动程序):

sudo apt-get 安装 linux-headers-`uname -r`

答案2

如果你只想更新默认内核,你可以使用以下命令进行修复:

sudo apt-get install linux-image-generic

由于linux-image-generic始终依赖于发行版的最新默认内核,因此当您运行时,内核会与其余软件包一起升级apt-get upgrade

当您想要更新非默认内核时,可以通过运行此脚本来执行此操作:

#!/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

如果您还需要头文件,请另外运行以下命令:

newest_kernel_of_release_headers=${newest_kernel_of_release/image/headers}

sudo apt-get install $newest_kernel_of_release_headers

答案3

“您可以通过在 /etc/apt/sources.list 中添加如下一行来使用任何列出的镜像:

德布http://security.ubuntu.com/ubunturaring-security 主页

通过

http://packages.ubuntu.com/raring/all/linux-headers-3.8.0-31/download

相关内容