dpkgによるカーネル更新のブロック


16

最近私に起こった厄介なことが原因で、配布されたすべてのカーネル更新をブロックしたいと思います。(Ubuntu 12.04 amd64派生製品を使用しています。)

私はへのマイナーバージョン3.2のインストールカーネルにすべての更新をブロックしたいのですがlinux-headerslinux-headers-genericlinux-image、およびlinux-image-extraパッケージ。私が遭遇している問題は、これらにはすべてバージョンがあり、特定のバージョンをブロックすると、新しいバージョンがインストールされるため何も得られないことです(たとえばlinux-image-3.2.0-35、ブロックした場合、ブロックlinux-image-3.2.0-36されず、dist-upgradefrom でインストールされる可能性がありますapt


これは、Ubuntu 16.04では動作しなくなることに注意してください。このガイドを使用してパッケージをブラックリストに登録する必要があります:help.ubuntu.com/lts/serverguide/automatic-updates.html
user199618

回答:


17

使用する必要があるのは、保持と呼ばれる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はこのパッケージがインストールされるように設定されていることを意味し、2番目のiは現在インストールされていることを意味します。このパッケージはインストールされているとしますアップグレードすること。

これらのフラグの詳細については、man dpkg特に「パッケージ選択状態」セクションを参照してください。


1
私の画像名はこちらです。「linux-image-generic」を禁止しますか?
ナフトゥリケイ

1
@TKKocheranはい。特定のバージョンではなく、メタパッケージを保留したい場合。
cjh

動作しない-dpkg:警告:1行目でパッケージのステータスも利用可能なデータベースもない:linux-image-amd64 dpkg:警告:不明なパッケージが見つかりました。これは、利用可能なデータベースが古く、フロントエンドの方法で更新する必要があることを意味する場合があります。FAQ < wiki.debian.org/Teams/Dpkg/FAQ > を参照してください
M
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.