深度文件管理器更新失败解决方法
Tofloor
poster avatar
winterysea
deepin
2018-11-24 08:46
Author
本帖最后由 winterysea 于 2018-11-24 00:50 编辑

背景:        这个月刚入手装的deepin,版本是15.7桌面版。发现这个版本自带的深度文件管理器少了些功能,例如最近访问的路径、收藏文件夹等。
        今天上班的时候发现已经有15.8桌面版了,而且文件管理器有一个最近使用的功能,所以打算直接升级文件管理器尝试下。

经过:
        在深度商店上升级时发现升级失败,并且重试了几次也无法更新成功。由于自己的强迫症,想找到不能更新的原因并且解决它,于是在深度商店上的深度文件管理器中再点击一次更新按钮,使用命令行查看下apt-get的进程并要尝试解决它。

Copy the Code
ops@localhost:~$ ps aux | grep apt
root      3628  0.0  0.0  99016  6424 pts/2    S+   00:22   0:00 sudo apt-get -y -m -o APT::Status-Fd=3 -o Debug::NoLocking=1 -o Acquire::Retries=1 -c /var/lib/lastore/apt.conf install -d --allow-change-held-packages -- dde-file-manager


# 尝试直接执行命令升级,发现竟然会有404的情况!
ops@localhost:~$ sudo apt-get -y -m -o APT::Status-Fd=3 -o Debug::NoLocking=1 -o Acquire::Retries=1 -c /var/lib/lastore/apt.conf install -d --allow-change-held-packages -- dde-file-manager
...
于“仅下载”模式中下载完毕
E: 无法下载 http://packages.deepin.com/deepin/pool/main/d/dde/dde_15.8_all.deb  404  Not Found [IP: 202.141.160.114 80]

...

# 为了证明不是我的网络问题,于是我登入其他vps查看deb包是否确实不存在。结果果然又是404
[ops@centos ~]$ curl -I http://packages.deepin.com/deepin/pool/main/d/dde/dde_15.8_all.deb
HTTP/1.1 404 Not Found

# 一般这种情况是官方发布错链接或者忘记上传资源了,于是打开浏览器看了下deb的地址:http://packages.deepin.com/deepin/pool/main/d/dde/
# 这时发现包名是dde_15.8+1_all.deb ,而不是dde_15.8_all.deb。
# debain分支为什么要用+号来命名文件,一直搞不懂,以前在Ubuntu也遇到过这类问题,这不又坑了
# 但是这并不能阻碍我们背锅工程师的脚步,我决定手动升级一下

# 在包的地址上右键复制实际链接,并用wget下载下来
ops@localhost:~$ wget http://packages.deepin.com/deepin/pool/main/d/dde/dde_15.8%2b1_all.deb
# 手动安装
ops@localhost:~$ sudo dpkg -i dde_15.8+1_all.deb
(正在读取数据库 ... 系统当前共安装有 188785 个文件和目录。)
正准备解包 dde_15.8+1_all.deb  ...
正在将 dde (15.8+1) 解包到 (15.7+deepin1) 上 ...
dpkg: 依赖关系问题使得 dde 的配置工作不能继续:
dde 依赖于 fonts-noto-color-emoji;然而:
  未安装软件包 fonts-noto-color-emoji。

dpkg: 处理软件包 dde (--install)时出错:
依赖关系问题 - 仍未被配置
在处理时有错误发生:
dde

# 尝试再执行一次apt更新
ops@localhost:~$ sudo apt-get -y -m -o APT::Status-Fd=3 -o Debug::NoLocking=1 -o Acquire::Retries=1 -c /var/lib/lastore/apt.conf install -d --allow-change-held-packages -- dde-file-manager
...
正在读取状态信息... 完成      
您也许需要运行“apt --fix-broken install”来修正上面的错误。
下列软件包有未满足的依赖关系:
dde : 依赖: fonts-noto-color-emoji 但是它将不会被安装
       推荐: printer-driver-all 但是它将不会被安装
       推荐: printer-driver-hpijs 但是它将不会被安装
       推荐: open-vm-tools-desktop 但是它将不会被安装
       推荐: open-vm-tools 但是它将不会被安装
       推荐: deepin-fpapp-org.deepin.flatdeb.deepin-picker 但是它将不会被安装
dde-file-manager : 依赖: libdde-file-manager (= 4.7.1.1-1) 但是 4.6.5-1 正要被安装
                    依赖: libdtkwidget2 (>= 2.0.9.9-1) 但是 2.0.9.2-1 正要被安装
E: 有未能满足的依赖关系。请尝试不指明软件包的名字来运行“apt --fix-broken install”(也可以指定一个解决办法)。

# 以上报错建议我们用apt --fix-broken install,那我们就按它说的做吧
ops@localhost:~$ sudo apt --fix-broken install
正在读取软件包列表... 完成
正在分析软件包的依赖关系树      
正在读取状态信息... 完成      
正在修复依赖关系... 完成
将会同时安装下列软件:
  fonts-noto-color-emoji
下列【新】软件包将被安装:
  fonts-noto-color-emoji
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 136 个软件包未被升级。
有 1 个软件包没有被完全安装或卸载。
需要下载 0 B/7,167 kB 的归档。
解压缩后会消耗 7,841 kB 的额外空间。
您希望继续执行吗? [Y/n] y
正在选中未选择的软件包 fonts-noto-color-emoji。
(正在读取数据库 ... 系统当前共安装有 188785 个文件和目录。)
正准备解包 .../fonts-noto-color-emoji_0~20180424-2_all.deb  ...
正在解包 fonts-noto-color-emoji (0~20180424-2) ...
正在设置 fonts-noto-color-emoji (0~20180424-2) ...
正在设置 dde (15.8+1) ...
正在处理用于 fontconfig (2.13.0-5) 的触发器 ...

# 发现这次没报错了,于是再执行一次更新命令
ops@localhost:~$ sudo apt-get -y -m -o APT::Status-Fd=3 -o Debug::NoLocking=1 -o Acquire::Retries=1 -c /var/lib/lastore/apt.conf install -d --allow-change-held-packages -- dde-file-manager
...
下列软件包将被升级:
  dde-desktop dde-disk-mount-plugin dde-file-manager libdde-file-manager libdtkcore2 libdtkwidget2
升级了 6 个软件包,新安装了 0 个软件包,要卸载 1 个软件包,有 129 个软件包未被升级。
...




总结:
以上为更新深度文件管理器的全部过程。
平时没有好好写文档的经验,果然写出来的文档有些潦草,大家凑合着围观吧。



Reply Favorite View the author
All Replies
avatar
winterysea
deepin
2018-11-24 08:51
#1
文档中的代码框不懂怎么删除,我也很绝望呀
Reply View the author
avatar
ylxdxx
deepin
2018-11-24 09:27
#2
强大呀,学习了
Reply View the author