web-dev-qa-db-ja.com

dpkg -iは、自己コンパイルカーネルをインストールするときに「競合するパッケージ」を訴えます。

Xhci-pci.cのタイプミスを修正するには、独自のバイオニックカーネルをコンパイルしてインストールする必要があります

私は、これを18.04という遅くまで成功させてきました。

https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel

しかし今、新しいカーネルをインストールしようとすると(そして、フラグポールの修正を実行しようとする開発者のテストカーネル)、dpkg -iが不平を言い、私の変更が再起動時に反映されないようです。どうすれば修正できますか?

更新:デスクトップでコンパイルしたカーネルを別のサーバーにインストールすると動作するようです。これは、サーバーで実行されているカーネルのバージョンが、デスクトップで実行されているカーネルのバージョンよりも若干マイナーなリビジョンだったためだと推測しています。デスクトップで実行されているマイナーリビジョン番号は、コンパイルおよびインストールしようとしているものと同じです。反対に、開発者が提供するテストカーネルは、デスクトップとサーバーのマイナーリビジョンの後ろです。以前は「署名されていない」パッケージに責任を負っていましたが、今はdpkgに問題があると考えています。 「競合する」パッケージの上にdpkgを強制的にインストールする方法を教えてください。レトログレードカーネルのインストールを強制するにはどうすればよいですか?

(デスクトップシステム上の)エラーは次のとおりです。

dpkg: regarding linux-image-unsigned-4.15.0-29-generic_4.15.0-29.31+jeff_AMD64.deb containing linux-image-unsigned-4.15.0-29-generic:
 linux-image-unsigned-4.15.0-29-generic conflicts with linux-image-4.15.0-29-generic
  linux-image-4.15.0-29-generic (version 4.15.0-29.31) is present and installed.

dpkg: error processing archive linux-image-unsigned-4.15.0-29-generic_4.15.0-29.31+jeff_AMD64.deb (--install):
 conflicting packages - not installing linux-image-unsigned-4.15.0-29-generic
dpkg: regarding linux-image-unsigned-4.15.0-29-lowlatency_4.15.0-29.31+jeff_AMD64.deb containing linux-image-unsigned-4.15.0-29-lowlatency:
 linux-image-unsigned-4.15.0-29-lowlatency conflicts with linux-image-4.15.0-29-lowlatency
  linux-image-4.15.0-29-lowlatency (version 4.15.0-29.31) is present and installed.

dpkg: error processing archive linux-image-unsigned-4.15.0-29-lowlatency_4.15.0-29.31+jeff_AMD64.deb (--install):
 conflicting packages - not installing linux-image-unsigned-4.15.0-29-lowlatency
4
apt-get remove linux-image-4.15.0-29-lowlatency 

いいえ、実行中のカーネルの削除を中止したくないので、削除されます。それから

dpkg -i $new-kernel+jeff 

成功します。

1
Hal

Debパッケージには、同じ名前の古いパッケージと競合する同一のファイルがあります。カーネルをコンパイルするときに、古いパッケージを削除するか、おそらくdebianフォルダーのバージョン設定を変更する必要があります。これにより、ファイル名が一意になる場合があります。しかし、予測するのは難しい。古い競合するカーネルを削除します。

すでにお持ちのカーネルは、安全な環境で工場で構築されていることを忘れないでください。構築したものは、システムにあるもの、おそらく異なるコンパイラとdpkgの構築戦略に注意するため、おそらく意味が異なります。元のシステムのソースパッケージを使用した場合でも、1つのビルドは互換性がありません。

0
pauljohn32