在树莓派上安装好Ubuntu MATE 18.04之后,我在试图更新系统的时候遇到了 bluez 软件包和 内核固件 冲突,从而导致无法进行下去的问题,本文记录一下现场情况以及解决办法。
更新系统:
sudo apt update
sudo apt upgrade
然后就出错了:
正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 正在计算更新... 完成 下列软件包将被升级: 0 个 linux-firmware-raspi2 升级了 1 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。 需要下载 0 B/3,612 kB 的归档。 解压缩后将会空出 35.8 kB 的空间。 您希望继续执行吗? [Y/n] (正在读取数据库 ... 系统当前共安装有 139961 个文件和目录。) 正准备解包 .../linux-firmware-raspi2_1.20190215-0ubuntu0.18.04.1_armhf.deb ... 正在将 linux-firmware-raspi2 (1.20190215-0ubuntu0.18.04.1) 解包到 (1.20180919-0ubuntu0.18.04.2) 上 ... dpkg: 处理归档 /var/cache/apt/archives/linux-firmware-raspi2_1.20190215-0ubuntu0.18.04.1_armhf.deb (--unpack)时出错: 正试图覆盖 /lib/firmware/brcm/BCM43430A1.hcd,它同时被包含于软件包 bluez-firmware 1.2-4+rpt1~bionic1.0 dpkg-deb: 错误: 粘贴 subprocess was killed by signal (Broken pipe) 在处理时有错误发生: /var/cache/apt/archives/linux-firmware-raspi2_1.20190215-0ubuntu0.18.04.1_armhf.deb ^[[A^[[A^[[A^[[A^[[AE: Sub-process /usr/bin/dpkg returned an error code (1)
原因是“bluez”这个和蓝牙相关的package和linux-firmware-raspi2冲突了。
如果你不使用树莓派上的蓝牙模块,可以像我一样强行安装:
sudo dpkg -i --force-overwrite /var/cache/apt/archives/linux-firmware-raspi2_1.20190215-0ubuntu0.18.04.1_armhf.deb
会输出一堆信息,类似于:
(正在读取数据库 ... 系统当前共安装有 139961 个文件和目录。) 正准备解包 .../linux-firmware-raspi2_1.20190215-0ubuntu0.18.04.1_armhf.deb ... 正在将 linux-firmware-raspi2 (1.20190215-0ubuntu0.18.04.1) 解包到 (1.20180919-0ubuntu0.18.04.2) 上 ... dpkg: 警告: 由于开启了 --force 选项,以下问题被忽略: dpkg: 警告: 正试图覆盖 /lib/firmware/brcm/BCM43430A1.hcd,它同时被包含于软件包 bluez-firmware 1.2-4+rpt1~bionic1.0 dpkg: 警告: 由于开启了 --force 选项,以下问题被忽略: dpkg: 警告: 正试图覆盖 /lib/firmware/brcm/BCM4345C0.hcd,它同时被包含于软件包 bluez-firmware 1.2-4+rpt1~bionic1.0 正在设置 linux-firmware-raspi2 (1.20190215-0ubuntu0.18.04.1) ...
然后:
sudo apt-get -f install
输出:
正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
这就搞定了。
转载自:www.codelast.com 传送门