使用 dpkg 阻止内核更新

使用 dpkg 阻止内核更新

我想阻止所有发行版提供的内核更新,因为讨厌的东西这件事最近发生在我身上。 (我使用的是 Ubuntu 12.04 amd64 衍生版本。)

我想阻止对linux-headerslinux-headers-genericlinux-imagelinux-image-extra软件包的已安装次要版本 3.2 内核的所有更新。我遇到的问题是,这些都有一个版本,如果我阻止特定版本,则不会获得任何结果,因为将安装新版本(例如:如果我阻止linux-image-3.2.0-35linux-image-3.2.0-36则不会被阻止,并且仍然可能使用dist-upgrade来自apt.)

答案1

您需要使用的是 apt-get 的一个功能,称为保持

您可以通过 Synaptic 或 Dpkg 来完成此操作,以下是我使用 dpkg 方法保存内核的方法。

首先检查您的内核映像名称

dpkg -l | grep linux-image

对我来说输出:

ii  linux-image-3.2.0-4-amd64              3.2.35-2                           amd64        Linux 3.2 for 64-bit PCs
ii  linux-image-amd64                      3.2+46                             amd64        Linux for 64-bit PCs (meta-package)

然后告诉 dpkg 保存元包(没有任何版本号的通用版本)

echo linux-image-amd64 hold | sudo dpkg --set-selections

然后你可以通过检查这是否有效dpkg -l linux-image-amd64

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                       Version            Architecture       Description
+++-==========================-==================-==================-==========================================================
hi  linux-image-amd64          3.2+46             amd64              Linux for 64-bit PCs (meta-package)

请注意底部的“hi”,h 表示已持有,i 表示当前安装。该软件包已安装,但将不会被升级。

您可以通过以下方式反转此操作

echo linux-image-amd64 install | sudo dpkg --set-selections

并再次可以通过检查dpkg -l linux-image-amd64

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                       Version            Architecture       Description
+++-==========================-==================-==================-==========================================================
ii  linux-image-amd64          3.2+46             amd64              Linux for 64-bit PCs (meta-package)

注意“ii”,第一个 i 表示该软件包已设置为安装,第二个 i 表示当前已安装。该软件包已安装并将要被升级。

有关这些标志的更多信息,请man dpkg具体参阅“包选择状态”部分。

相关内容