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

如何删除通过 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 的帮助或只是删除它都会有所帮助。感谢大家的回复。

答案1

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

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

dpkg -l | grep "linux\-[a-z]*\-"

例如-就我的情况而言:

在此处输入图片描述

您正在寻找的是类似名称的内核 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

答案2

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

要使用较旧的内核,请在计算机启动时重新启动并按住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\-[a-z]*\-"(如这个答案建议)或sudo aptitude search ~i | grep linux-image(如这个建议),因为我们确切地知道您安装了哪些软件包(因为您提供了安装说明,其中包括确切的软件包名称)。您的旧版(即 3.0 系列)内核不会被自动删除,并且由于您是通过手动下载和安装文件.deb而不是实际启用 PPA 来安装的,因此此内核的版本不会发生变化。(如果您是从 PPA 安装的,那么您仍然不必搜索——您只需ppa-purgePPA。)我们也不必担心安装虚拟包会导致 3.1 系列内核自动返回;安装这些虚拟包会为您提供较新的内核,但是像上面那样安装较新的内核不会安装这些虚拟包。

因此上面描述的步骤应该足够了。

答案3

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

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

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

相关内容