如何删除通过PPA添加的内核3.1?

有没有办法从Oneiric中删除内核3.1?

我使用这些说明下载并升级到3.1:

打开终端并为32位和64位版本的Ubuntu 11.10 / 11.04运行这两个命令:

wget http://kernel.ubuntu.com/~kernel-ppa...241006_all.deb sudo dpkg -i linux-headers-3.1.0-030100_3.1.0-030100.201110241006_all.deb 

Ubuntu(64位)

对于Ubuntu 11.10 / 11.04(64位),请发出以下命令:

 wget http://kernel.ubuntu.com/~kernel-ppa...1006_amd64.deb sudo dpkg -i linux-headers-3.1.0-030100-generic_3.1.0-030100.201110241006_amd64.deb wget http://kernel.ubuntu.com/~kernel-ppa...1006_amd64.deb sudo dpkg -i linux-image-3.1.0-030100-generic_3.1.0-030100.201110241006_amd64.deb 

一切顺利。 我能够快速重启,但Firefox和Chrome不断崩溃与内核3.1。 我正在使用Gnome 3.2,并且看到了ppa提供的3.0.0.13的改进。 3.1的任何帮助或只是删除它会有所帮助。 感谢所有的回复。

尽管不是绝对必要,但建议首先重新启动并选择较旧的内核。 你可以删除运行它的系统“下”的内核 – 它将继续留在内存中并运行正常。 但是,如果出现了一些问题导致您的旧内核无法正常工作,您应该首先尝试启动其中一个内核。 (此外,某些安装过程可能会假定实际安装了正在运行的内核。)

要使用较旧的内核,请在计算机启动时重新启动并按住Shift键 。 您应该看到不同的引导选项,例如恢复模式和检查内存/ RAM的选项。 如果您看到不是版本3.1的内核的任何选项,请选择最新的此类内核(不要选择“恢复模式”)。 也就是说,选择具有最高版本号的3.0系列内核,但不要选择3.1系列内核。 如果您没有看到任何此类选项,请选择查看旧内核的选项,然后在那里选择它。

如果您尝试从较旧的内核启动但不能尝试启动,则不应继续卸载,因为这可能是您拥有的唯一内核(如果没有列出其他内核)或唯一正常运行的内核。 (在这种情况下,你应该对这个问题发表评论,详细说明发生了什么,我将在我的问题中添加有关如何解决这个问题的信息……或者在必要时请求更多信息。但是,鉴于您提供的信息,这种情况极不可能。)

从3.0系列内核启动后(或者,如果您决定放弃它),可以通过运行此命令删除安装的3.1系列内核:

 sudo apt-get purge linux-headers-3.1.0-030100 linux-headers-3.1.0-030100-generic linux-image-3.1.0-030100-generic 

使用remove而不是purge (如目前为止在其他答案中所建议的)也可以使用,但可能会留下一些遗留的全局配置文件; purge可能更可取。

没有必要使用像dpkg -l | grep "linux\-[az]*\-"这样的东西来搜索要删除的包 dpkg -l | grep "linux\-[az]*\-" ( 如此答案所示)或sudo aptitude search ~i | grep linux-image sudo aptitude search ~i | grep linux-image (正如这个建议的那样),因为我们确切地知道你安装了什么软件包(因为你提供了用于安装它们的指令,其中包括确切的软件包名称)。 您的旧版(即3.0系列)内核不会自动删除,并且自您通过手动下载和安装.deb文件而不是实际启用PPA安装后,该内核的版本不会发生变化。 (如果你从PPA安装它,那么你仍然不必搜索 – 你可以只是ppa-purge PPA。)我们也不必担心安装的虚拟包会导致3.1 -series内核自动返回; 安装这些虚拟软件包会为您提供更新的内核,但如上所述安装较新的内核将无法安装这些虚拟软件包。

因此,上述步骤应该是足够的。

首先启动到你不想删除的内核,即启动到3.0.x而不是3.1.x.

要删除刚刚安装的软件包,您需要找到它们的名称。 在终端中运行以下命令:

 dpkg -l | grep "linux\-[az]*\-" 

例如 – 在我的情况下:

在此处输入图像描述

您正在寻找的是类似命名的内核3.1包 –

对于我的例子 – 我已经突出显示了我要删除的类似包 – 命令语法是:

 sudo apt-get remove linux-headers-2.6.38-11 sudo apt-get remove linux-headers-2.6.38-11-generic sudo apt-get remove linux-image-2.6.38-11-generic 

为了简化操作,只需在输入sudo apt-get remove后复制并粘贴包名称即可

完成运行:

 sudo update-grub 

重启并从grub菜单中你应该能够选择以前安装的内核,如果你的旧内核已被删除,你可以找到要用sudo aptitude search linux-image安装的软件包。

然后你可以使用sudo aptitude search ~i | grep linux-image找到你的3.1内核 sudo aptitude search ~i | grep linux-image并删除sudo apt-get remove linux-image-XXX

运行sudo update-grub从启动菜单中删除过时的内核条目