本文共 1284 字,大约阅读时间需要 4 分钟。
在树莓派上安装好Ubuntu MATE 18.04之后,尝试进行系统更新时,我遇到了一个需要解决的冲突问题:蓝牙相关的软件包和内核固件发生了冲突,阻止了系统更新的进行。本文将详细记录此次事件以及解决方法。
首先,我按照常规的步骤进行了系统更新:
sudo apt updatesudo apt upgrade
在运行这些命令时,系统提示有需要升级的软件包,具体是linux-firmware-raspi2,但在解包过程中遇到了问题。错误信息如下:
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.0dpkg: 错误: 子进程被信号 (Broken pipe) 杀死在处理时发生了错误: /var/cache/apt/archives/linux-firmware-raspi2_1.20190215-0ubuntu0.18.04.1_armhf.deb
问题的核心在于bluez软件包和linux-firmware-raspi2之间的冲突。bluez软件包负责管理蓝牙功能,而linux-firmware-raspi2则包含了与树莓派相关的固件文件。系统在尝试更新linux-firmware-raspi2时,意外地覆盖了bluez-firmware中的一部分文件,导致安装过程中出现问题。
为了解决这个问题,我决定直接强制安装linux-firmware-raspi2软件包,忽略与bluez-firmware的冲突。虽然这不是一个最佳的解决方案,但在树莓派上确实需要linux-firmware-raspi2来支持其功能,因此可以采取以下步骤:
sudo dpkg -i --force-overwrite /var/cache/apt/archives/linux-firmware-raspi2_1.20190215-0ubuntu0.18.04.1_armhf.deb
在执行上述命令时,系统会提示一些警告信息,但这些警告可以忽略。完成后,再运行以下命令修复依赖关系:
sudo apt-get -f install
在完成上述步骤后,系统重新分析了软件包的状态,并确认所有依赖关系都已满足。没有更多的冲突出现,系统更新也顺利完成。
在树莓派上安装Ubuntu MATE 18.04后,如果遇到bluez软件包和linux-firmware-raspi2的冲突,可以采取强制安装的方式来解决问题。这种方法虽然不推荐在一般情况下使用,但在特定场景下(如树莓派上不需要蓝牙功能)是可行的。完成后,确保系统依赖关系正确,系统更新也能顺利进行。
转载地址:http://hffyz.baihongyu.com/