前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Volumio升级失败的解决方案

Volumio升级失败的解决方案

作者头像
美丽应用
发布2018-07-20 13:49:21
1.5K0
发布2018-07-20 13:49:21
举报
文章被收录于专栏:美丽应用美丽应用

文章更新:

  20170308 初次成文

问题简述:

  在之前的文章中:

树莓派折腾记:打造HiFi解码转盘(基于Volumio和Dac扩展板)

  小苏特意提到了不要给Volumio执行upgrade操作,即使你这么做了,你也无法升级成功。但是由于Volumio基于Raspbian(基于Debian基于Linux),大多数用户不是很清楚"Volumio不能执行系统升级操作",当他们习惯了Linux的操作模式后,便不可避免地在Volumio执行了apt-get upgrade操作。这样问题就产生了,在升级过程中会造成升级失败和升级中断,并报出类似错误(以下简称错误1):

代码语言:javascript
复制
Unpacking systemd (215-17+deb8u5) over (215-17+deb8u4) ...
dpkg: error processing archive /var/cache/apt/archives/systemd_215-17+deb8u5_armhf.deb (--unpack):
trying to overwrite '/usr/share/dbus-1/system-services/org.freedesktop.systemd1.service', which is also in package systemd-shim 9-1
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
addgroup: The group `systemd-journal' already exists as a system group. Exiting.
Processing triggers for dbus (1.8.20-0+deb8u1) ...
Errors were encountered while processing:
 /var/cache/apt/archives/systemd_215-17+deb8u5_armhf.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

  在此次升级报错之后就再也无法用apt-get安装任何软件包了,当使用apt-get安装其他软件包时,会报出类似错误(以下简称错误2):

代码语言:javascript
复制
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
libpam-systemd : Depends: systemd (= 215-17+deb8u6) but 215-17+deb8u5 is to be installed
libpam-systemd : Depends: systemd-sysv (= 215-17+deb8u6) but 215-17+deb8u5 is to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

  刚在SD卡中烧写好Volumio的时候,小苏就因为在不知情的情况下执行了apt-get upgrade操作,导致将Volumio恢复了一次默认设置(所有用户数据都会被清除,系统会恢复到刚刚烧写好系统的状态),恢复默认设置之后就再也不敢升级了。但是依小苏的观点,对于Linux来说,不能进行升级是很不爽的(在安装软件时总是会提示"65 not graduated"),在强迫症和好奇心的驱使下,昨天晚上小苏不顾SD卡中的近9G,800多首音乐文件和各种已经折腾成功的劳动成果,又执行了这个神奇的命令:

sudo apt-get upgrade

  结果可想而知,升级过程中又报错了,并且又出现了"任何软件包都无法安装"的错误。

  于是根据报错信息执行:

sudo apt-get -f install

  结果还是提示"错误2"(在这种情况下加"-f"参数好像并没有用~因为在第一次小苏把系统弄成这样之后也执行过这条命令,如果有用的话小苏也不会恢复默认设置了~)。不得已只好又去谷歌了。

解决方案:

  意料之中,又出现到一堆英文搜索结果,在第一页,第一条搜索结果中意外看到了在Volumio官方社区中有一位用户和我的情况非常相似,也是因为在不知情的情况下升级了系统,最终导致无法安装vim,抱着一丝希望往下翻回帖,终于在17楼发现了解决方法,并且是3月1号,也就是一周前才回的帖子:

170308-101606.jpeg
170308-101606.jpeg

  他的做法是,在Debian的官方软件源服务器中下载错误中"未满足依赖关系"版本的软件包到本地,然后执行dpkg -i --force-overwrite强制安装此包,具体到我上面报出的错误,我的解决方法是这样的:

  由于"systemd"和"systemd-sysv"的版本过旧(215-17+deb8u5),不满足包"libpam-systemd"的依赖关系,所以我需要在Debian的官方软件源中下载"systemd"和"systemd-sysv"且版本都为"215-17+deb8u6"的这两个软件包:

  下载完成后,使用dpkg命令强制安装这两个包:

sudo dpkg -i --force-overwrite systemd_215-17+deb8u6_armhf.deb sudo dpkg -i --force-overwrite systemd-sysv_215-17+deb8u6_armhf.deb

  安装过程中可能会报warning,安装完成后进行更新软件源索引和升级操作,在升级过程中,如果遇到Cannot remove file: "Structure needs cleaning"错误的话,重启系统再次更新软件源索引和系统升级:

sudo apt-get update sudo apt-get upgrade

  不出意外的话,此次所有软件包都会被升级成功且不会报任何错误。当你再使用apt-get安装软件包时,也不会报错,并且目前来说,Volumio的各个功能都没有受到影响。

  但小苏仍然需要强调,如非必要,不要给Volumio执行upgrade操作,虽然执行升级操作后出现的错误能用以上方法解决,但是毕竟官方不建议咱们升级,咱就别升啦。

参考资料:

  Can't install vim : Volumio 2 Pi 3 - volumio.org: https://volumio.org/forum/can-install-vim-volumio-t4167.html

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-03-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章更新:
  • 问题简述:
  • 解决方案:
  • 参考资料:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档