博客
关于我
树莓派的UbuntuMATE 18.04系统无法apt upgrade更新的问题(转)
阅读量:438 次
发布时间:2019-03-06

本文共 1278 字,大约阅读时间需要 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/

你可能感兴趣的文章
Netty框架内的宝藏:ByteBuf
查看>>
Netty框架的服务端开发中创建EventLoopGroup对象时线程数量源码解析
查看>>
Netty源码—2.Reactor线程模型一
查看>>
Netty源码—3.Reactor线程模型三
查看>>
Netty源码—4.客户端接入流程一
查看>>
Netty源码—4.客户端接入流程二
查看>>
Netty源码—5.Pipeline和Handler一
查看>>
Netty源码—5.Pipeline和Handler二
查看>>
Netty源码—6.ByteBuf原理一
查看>>
Netty源码—6.ByteBuf原理二
查看>>
Netty源码—7.ByteBuf原理三
查看>>
Netty源码—7.ByteBuf原理四
查看>>
Netty源码—8.编解码原理一
查看>>
Netty源码—8.编解码原理二
查看>>
Netty源码解读
查看>>
Netty的Socket编程详解-搭建服务端与客户端并进行数据传输
查看>>
Netty相关
查看>>
Netty遇到TCP发送缓冲区满了 写半包操作该如何处理
查看>>
Netty:ChannelPipeline和ChannelHandler为什么会鬼混在一起?
查看>>
Netty:原理架构解析
查看>>