最近私に起こった 厄介なこと が原因で、配布されたすべてのカーネル更新をブロックしたいと思います。 (私はUbuntu 12.04 AMD64派生物を使用しています。)
linux-headers
、linux-headers-generic
、linux-image
、およびlinux-image-extra
パッケージへのマイナーバージョン3.2のインストール済みカーネルへのすべての更新をブロックしたいと思います。私が遭遇している問題は、これらすべてにバージョンがあることです。特定のバージョンをブロックすると、新しいバージョンがインストールされるため、何も得られません(例:linux-image-3.2.0-35
をブロックした場合、linux-image-3.2.0-36
はブロックされており、apt
のdist-upgrade
を使用してインストールできる可能性があります。)
使用する必要があるのは 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
、特に「パッケージ選択状態」セクションを参照してください。