当前位置: 首页>>技术教程>>正文


如何在没有任何Distro-upgrade的情况下将内核更新到最新的主线版本?

, , ,

问题描述

目前我正在运行Linux-3.0,我想将它更新到Linux-3.3.1最新的稳定内核版本,如http://www.kernel.org中提到的。我可以在Ubuntu中更新到3.3.1而没有任何崩溃风险吗?我正在更新我的内核定期更新管理器提供..目前我有Linux-3.0.0.17..Can我更新?

注意:

任何用户应该在Ubuntu中使用的最新内核版本都会通过Update Manager自动更新,因此用户通常不需要有关内核升级的操作。主题内核提到的问题是:我应该升级到“mainline”内核吗?

最佳解决方案

我经常用来进行内核升级/降级的最简单的指令集是ubuntuforums.org用户的名字lykwydchykyn(我修改了这篇文章的URL):

  1. 去这里:http://kernel.ubuntu.com/~kernel-ppa/mainline/

  2. 将3个(也许4个)debs下载到某个文件夹:

    linux-headers-VERSION-NUMBER_all.deb
    linux-headers-VERSION-NUMBER_amd64.deb
    linux-image-VERSION-NUMBER_amd64.deb
    linux-image-extra-VERSION-NUMBER_amd64.deb   # if available
    
  3. 用你使用的任何软件包管理器front-end安装debs(gdebi还在吗?),或者使用这些命令:

    cd /path/to/folder/where/you/put/the/debs
    sudo dpkg -i *.deb
    

资料来源:

次佳解决方案

您始终可以执行以下操作:

apt-cache search linux-image

选择你想要的,然后做:

sudo apt-get install linux-image-your_version_choice linux-headers-your_version_choice linux-image-extra-your_version_choice

第三种解决方案

我的回答是,你可以。稳定版本是3.4,但在本教程中我使用了3.3.1。

Ubuntu(32位)通用PAE:

运行以下命令:

mkdir kernel\ v3.3.1-precise && cd kernel\ v3.3.1-precise
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.3.1-precise/linux-headers-3.3.1-030301-generic-pae_3.3.1-030301.201204021435_i386.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.3.1-precise/linux-headers-3.3.1-030301_3.3.1-030301.201204021435_all.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.3.1-precise/linux-image-3.3.1-030301-generic-pae_3.3.1-030301.201204021435_i386.deb
sudo dpkg -i linux-*.deb 
sudo update-grub
sudo reboot now

Ubuntu(64位):

运行以下命令:

mkdir kernel\ v3.3.1-precise && cd kernel\ v3.3.1-precise
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.3.1-precise/linux-headers-3.3.1-030301-generic_3.3.1-030301.201204021435_amd64.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.3.1-precise/linux-headers-3.3.1-030301_3.3.1-030301.201204021435_all.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.3.1-precise/linux-image-3.3.1-030301-generic_3.3.1-030301.201204021435_amd64.deb
sudo dpkg -i linux-*.deb 
sudo update-grub
sudo reboot now

请享用!

第四种方案

与这里的一些答案相反,Ubuntu在主要内核团队的一两天内发布新内核。我曾经像这里提出的一些答案一样提升难度,但我发现这是一个更简单的方法。

手动安装内核的含义

手动安装内核需要额外的工作。

有几个原因可以让你安装最新的mainline内核:

  • 上一次Ubuntu LTS内核更新中的错误,您无法降级

  • 您目前的Ubuntu LTS内核更新流或HWE更新不支持新硬件

  • 您只需要在最新的主线内核版本中提供安全升级或新功能。

截至2018年1月15日,最新稳定的主线内核是4.14.13。在撰写本文时,许多人有兴趣安装它以防止熔毁安全漏洞。如果您选择手动安装它,您应该知道:

  • 较早的LTS内核将不会get updated,直到它们大于标题为Ubuntu的主菜单第一个选项。

  • 使用通常的sudo apt auto-remove命令不会删除手动安装的内核。你需要遵循这个:我如何删除旧的内核版本来清理启动菜单?

  • 当您想要恢复常规LTS内核更新方法时,监视较早内核的开发情况。然后删除手动安装的主线内核,如前面的项目符号链接所述。

  • 在手动删除最新的mainline内核后运行sudo update-grub,然后Ubuntu的最新LTS内核将成为Grub主菜单上名为Ubuntu的第一个选项。

寻找最新的内核

转到(kernel.ubuntu.com – Kernel PPA Mainline)并按下End键:

upgrade,kernel,updates,ubuntu

现在点击链接4.9.8(如果您阅读了此链接,可以使用更新的链接),并出现以下内容:

upgrade,kernel,updates,ubuntu

请注意与黑色喷枪标记的链接。这些是我们将使用英特尔或AMD处理器为Ubuntu 16.04 64位下载的三款产品。

使用终端安装

Ctrl + Alt + T打开终端会话并使用:

cd ~/Downloads # Change to your downloads directory
ll linux*.deb  # Check if any previous downloads still exist
rm linux*.deb  # Use this command if any previous downloads found

现在切换回上面的下载屏幕,并在.deb内核下载的全部三个上下载single-click。下载完成后(您将在浏览器中看到状态)切换回终端会话并使用:

sudo dpkg -i linux*.deb
rm linux*.deb
sudo reboot

瞧! – 当grub启动菜单中的第一个选项被选中时,您正在运行最新的内核。您的旧内核版本在grub的高级选项菜单下仍然可用。

在安装最新的内核十几次之后,您会问“如何删除旧的内核版本?”你会在Ask Ubuntu找到这些答案。

第五种方案

我写了一个脚本,并始终保持最新状态。

ukupgrade: Ubuntu Kernel Upgrade

  • 打开您最喜爱的终端并运行follwing命令

  • 授予文件chmod +x ./ukupgrade的可执行权限

  • 调用脚本./ukupgrade

第六种方案

运行以下终端命令以安装新的Ubuntu mainline kernel

sudo apt-get update
sudo apt-get install python-bs4
cd /tmp
rm -rf medigeek-kmp*
wget https://github.com/medigeek/kmp-downloader/tarball/master -O kmpd.tar.gz
tar xzf kmpd.tar.gz
cd medigeek-*
python kmpd.py -d

该脚本位于Github。只要按下Enter而不是数字,如果您在Python脚本中遇到某个问题。

第七种方案

迟到但新的答案。

我将在我的答案中添加更多信息。现在我的旧内核是linux-headers-4.8.0-53。要找出哪个内核在终端中有类型uname -r。现在键入此命令以获取可用内核的列表。

apt-cache search linux-image

这会给你一个非常大的输出。现在选择其中一个你想安装并通过以下命令安装它(不要像这样键入这些命令,用您希望安装的内核版本替换单词kernal_version)

sudo apt-get install linux-image-kernal_version
sudo apt-get install linux-image-extra-kernal_version
sudo apt-get install linux-headers-kernal_version

现在在我的情况下,我选择linux-image-4.10.0-22-generic,所以我的命令将如下所示

sudo apt-get install linux-image-4.10.0-22-generic 
sudo apt-get install linux-image-extra-4.10.0-22-generic
sudo apt-get install linux-headers-4.10.0-22-generic

现在最后通过命令删除旧内核

sudo apt-get autoremove

现在当我第一次做这件事时,我不知道是因为我的硬件问题还是因为删除了旧的内核,但是我的笔记本电脑显示了我的笔记本电脑发生的黑屏幕sometimes。因此,我删除了它的电池并重新启动并键入了命令。我也不会再受到我的black screen issue的影响。

uname -r

它给了我

linux-image-4.10.0-22-generic

这意味着内核被更新。

第八种方案

这样做有一个更简单的方法,这是我使用的方式。只需下载Ubuntu Mainline Kernel Updater脚本并从终端运行即可。它会为你下载.deb,安装新的内核,并可以选择删除旧的(不推荐),然后可以选择重启。

输出示例(从我的终端复制):

evilsupahfly@the-black-beast:~$ sudo KernelUpdateChecker -no-rc -r utopic
Run this command to install the new kernel
/tmp/kernel-update
root@the-black-beast:~# /tmp/kernel-update
Config Notes:
Rejecting Release Candidates
Accepting Latest Kernel
Accepting kernels compiled for utopic
Accepting kernels with a version higher than 3.15.0-031500-lowlatency

Information:
Origin: 
    http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.15.1-utopic
Kernel Version:
    3.15.1-031501
Release Date:
    2014/06/16 @ 18:41 (YYYY/MM/DD @ HH:MM)

Care to look at the change log? (y=Yes, n=No) (n)

(download output skipped)    

Greetings root
    I (the-black-beast) am now self aware and a sentient being, have a nice day.
    Oh and by the way SKYNET is now active.

Installing Linux 3.15.1-031501:

(installer output skipped)

The New Kernel looks to have been installed

WARNING: If the new kernel does not boot you may regret saying yes here.
Would you like to remove the current one? (y=Yes, n=No) (n): n

Are you ready to Reboot? (y=Yes, n=No) (n): n

几乎完全自动化,并且完全没有问题。

第九种方案

另一种选择是尝试定制和优化的构建,例如针对Ubuntu的i3 /i5 /i7优化的3.2.1内核:

DuoPetalFlower, My Experiments with Linux – 3.2.1 kernel

他还拥有英特尔原子优化版本,如果您试图从上网本中挤出最后一盎司的性能,那么它可以很好地工作。

还有其他内核,如Liquorix,声称可以更好地优化桌面性能。

虽然不被某些人推荐,但你可以经常从更高版本的Ubuntu运行official kernels而没有问题。我目前正在oneiric上运行3.3.3精确内核,并且我的机器比以往任何时候都运行得更好。性能&电池寿命增加,而温度下降几度。从待机恢复时出现的黑屏问题也消失了。虽然我个人没有使用新内核的问题,但您会发现有些人强烈反对这样做。

第十种方案

如果你不想麻烦手动升级内核,你可以试试UUKU。即使在元素,薄荷等Ubuntu衍生品上也能正常工作。

我用它来解决我的WiFi问题,因为有时一些新硬件不会被旧内核检测到。除了硬件驱动程序更新之外,我不认为需要升级内核。新内核确实具有安全性和轻微的性能升级,但也有破坏虚拟机之类的东西的倾向。

sudo apt-add-repository -y ppa:teejee2008/ppa
sudo apt-get update
sudo apt-get install ukuu
ukuu-gtk

资源:

http://www.makeuseof.com/tag/upgrade-kernel-ukuu-ubuntu/

http://www.teejeetech.in/2016/07/ukuu-v167.html?m=1

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/432.html,未经允许,请勿转载。