GNU/Linux >> Linux の 問題 >  >> Linux

Dpkgでカーネルアップデートをブロックしますか?

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

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

承認された回答:

使用する必要があるのは、holdingと呼ばれる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を参照してください。 具体的には、「パッケージ選択状態」セクションです。


Linux
  1. Linuxでカーネルバージョンを確認する方法

  2. Dpkgの再構成の問題?

  3. 再起動せずにカーネルを更新

  1. trace-cmdを使用したカーネルトレース

  2. Linuxカーネルをftraceで分析する

  3. カーネルの更新には、その間のすべてのバージョンが必要ですか?

  1. Ksplice の有効なカーネル バージョンについて

  2. CentOS / RHEL :Yum によるカーネル更新の除外

  3. 古いバージョンの libstdc++ とのリンク