我对此有点陌生,在更新 Linux 内核驱动程序(1.79.14)的固件时遇到了以下问题:
installArchives() failed: (Reading database ...
(Reading database ... 5%%
(Reading database ... 10%%
(Reading database ... 15%%
(Reading database ... 20%%
(Reading database ... 25%%
(Reading database ... 30%%
(Reading database ... 35%%
(Reading database ... 40%%
(Reading database ... 45%%
(Reading database ... 50%%
(Reading database ... 55%%
(Reading database ... 60%%
(Reading database ... 65%%
(Reading database ... 70%%
(Reading database ... 75%%
(Reading database ... 80%%
(Reading database ... 85%%
(Reading database ... 90%%
(Reading database ... 95%%
(Reading database ... 100%%
(Reading database ... 193788 files and directories currently installed.)
Preparing to replace linux-firmware 1.79.1 (using .../linux-firmware_1.79.14_all.deb) ...
Unpacking replacement linux-firmware ...
dpkg: error processing /var/cache/apt/archives/linux-firmware_1.79.14_all.deb (--unpack):
trying to overwrite '/lib/firmware/ar3k/AthrBT_0x31010000.dfu', which is also in package bt-dw1705-firmware 0.1
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
/var/cache/apt/archives/linux-firmware_1.79.14_all.deb
Error in function:
SystemError: E:Sub-process /usr/bin/dpkg returned an error code (1)
我已经尝试过发布的解决方案这问题,但同样的问题仍然存在。(Ubuntu 12.04)
答案1
原因
您收到此错误消息的原因是该软件包提供了软件包想要覆盖或更新的bt-dw1705-firmware
固件文件。linux-firmware
Linux 操作系统的包管理机制旨在防止不同的包相互覆盖文件,导致系统处于不一致的状态。这就是您收到此错误的原因。
解决方案
这bt-dw1705-firmware
似乎不是 Ubuntu 软件包因此可能不再受支持或维护,但linux-firmware
显然还是受支持的。
如果不起作用,您应该删除bt-dw1705-firmware
或然后运行。sudo apt-get remove bt-dw1705-firmware
sudo dpkg --remove bt-dw1705-firmware
sudo dpkg-reconfigure linux-firmware
或者你也可以sudo dpkg --force-overwrite linux-firmware
使用这个答案linux-firmware
。但这可能会导致问题在再次更新时再次出现。
该答案已得到 OP 的认可,因此linux-firmware
无论您选择哪种解决方案,都可以安全地假设固件文件有效。