dpkg -i 在安装自编译内核时抱怨“包冲突”

Mys*_*ity 5 dpkg compiling kernel

我需要编译和安装我自己的仿生内核来修复 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
Run Code Online (Sandbox Code Playgroud)

小智 3

apt-get remove linux-image-4.15.0-29-lowlatency 
Run Code Online (Sandbox Code Playgroud)

说不,您不希望中止删除正在运行的内核,因此它会被删除。然后

dpkg -i $new-kernel+jeff 
Run Code Online (Sandbox Code Playgroud)

将会成功。


pau*_*n32 -1

您的 Deb 软件包具有与旧的同名软件包冲突的相同文件。您应该在编译内核时删除旧软件包,或者更改 debian 文件夹中的版本设置。这可能会使文件名唯一化。但很难预测。我会删除旧的冲突内核。

请记住,您已有的内核是在工厂的安全环境中构建的。您构建的一个可能会有意义地有所不同,因为它记录了您的系统所拥有的内容,甚至可能是不同的编译器和 dpkg 构建策略。One yoh 版本,即使使用原始系统的源包,也不能互换。