我自己折腾的 15.11 升级 v20 beta 过程,非标准,仅供参考
Tofloor
poster avatar
走钢丝
deepin
2020-04-19 03:36
Author
我自己前几天折腾的 15.11 升级 v20 beta 过程,不是标准过程,仅供参考。本来没打算发帖的,后来想想还是列出来吧,至少大家踩坑时能多一个参考。


升级

配置软件源

先是在虚拟机里安装,对比了一下 apt 目录下的差别,并记录下来。这个就不多说了。

sources.list

/etc/apt/sources.list 中注释原来的主源,添加以下内容

  1. deb [by-hash=force] http://community-packages.deepin.com/deepin/ apricot main contrib non-free
  2. #deb-src http://community-packages.deepin.com/deepin/ apricot main contrib non-free

  3. #再加个 backports 备用
  4. deb [trusted=yes] https://mirrors.163.com/debian buster-backports main contrib non-free
Copy the Code

以前添加过 backports 源的,可以把 stretch 改成 buster

sources.list.d

sources.list.d 目录下,增加两个文件

appstore.list 内容如下

  1. deb https://cdn-package-store6.deepin.com/appstore eagle appstore
Copy the Code

printer.list 内容如下

  1. deb http://packages.chinauos.com/printer eagle non-free
Copy the Code

后来发现,可能并不需要手工增加这两个文件,后面安装新应用商店和打印管理器时会自动生成。

sources.list.d 目录下其他的 list 文件,如果含有 stretch 的话,也把相关代号从 stretch 改成 buster。

apt.conf.d

apt.conf.d 目录下

99lastore.conf 中,http://packages.deepin.com/deepin 改为 http://packages.chinauos.cn/uos

99mirrors.conf 中,默认的改成 http://cdn.packages.deepin.com/deepin

这两个文件主要涉及智能镜像源,目前没什么用。

更新软件仓库索引

在终端执行

  1. sudo apt update
Copy the Code

又出错了。。。

  1. W: GPG 错误:https://cdn-package-store6.deepin.com/appstore eagle InRelease: 由于没有公钥,无法验证下列签名: NO_PUBKEY 1C30362C0A53D5BB
  2. W: GPG 错误:http://uos.deepin.cn/printer eagle InRelease: 由于没有公钥,无法验证下列签名: NO_PUBKEY 137EDF78591B381E
Copy the Code

好在虚拟机还没删,将其中的 /etc/apt/trusted.gpg 复制出来替换了本机的文件就可以了。后来发现,其实不需要这样替换,后面安装新应用商店和打印管理器时会自动添加公钥证书的。

接着执行 sudo apt update,又出现了新错误

  1. W: 校验数字签名时出错。此仓库未被更新,所以仍然使用此前的索引文件。GPG 错误:http://dl.google.com/linux/chrome/deb stable Release: 由于没有公钥,无法验证下列签名: NO_PUBKEY 78BD65473CB3BD13
Copy the Code

估计是这个公钥是后来加的,比较新,刚覆盖没了。在终端执行以下命令安装公钥证书

  1. sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 78BD65473CB3BD13
Copy the Code

接着执行 sudo apt update,发现有 2075 个包可以升级。

执行升级

我这边是通过控制中心执行升级的。在终端执行以下命令应该也可以

  1. sudo apt dist-upgrade
Copy the Code

安装过程比较长,耐心等待。特别是通过控制中心升级时,不知道是否结束了,最好等待时间长点。

另外,安装过程中可能会有些选项需要选择,一般直接确定就可以了。需要修改的可以自己看看。

升级过程中,桌面环境各个部件的显示效果是不断变化的。有一段时间服务代理关闭,很多操作都无效,不过这是正常过程,不用担心。

确认升级安装完成后,重启即可。

旧内核清理

重启进入系统后,如果没什么问题,可以删除原来的内核

  1. dpkg -l | grep linux- | awk '{print$2}'
Copy the Code

带 4.15 的组件一个一个删除

  1. sudo apt purge xxx
Copy the Code

我在这里删除第一个就出错了:

  1. 正在设置 mincores-dkms (0.2.4+c1-1) ...
  2. Removing old mincores-0.2.0 DKMS files...

  3. ------------------------------
  4. Deleting module version: 0.2.0
  5. completely from the DKMS tree.
  6. ------------------------------
  7. Done.
  8. Loading new mincores-0.2.0 DKMS files...
  9. Building for 5.3.0-3-amd64
  10. Building initial module for 5.3.0-3-amd64
  11. Error! Bad return status for module build on kernel: 5.3.0-3-amd64 (x86_64)
  12. Consult /var/lib/dkms/mincores/0.2.0/build/make.log for more information.
  13. dpkg: 处理软件包 mincores-dkms (--configure)时出错:
  14. 已安装 mincores-dkms 软件包 post-installation 脚本 子进程返回错误状态 10
  15. dpkg: 依赖关系问题使得 warm-sched 的配置工作不能继续:
  16. warm-sched 依赖于 mincores-dkms;然而:
  17.   软件包 mincores-dkms 尚未配置。
Copy the Code

查看 /var/lib/dkms/mincores/0.2.0/build/make.log 发现有编译错误,似乎新内核头文件变了,有个函数没有声明。找了几个方法不行,正好看到https://bbs.deepin.org/post/191750,照葫芦画瓢修复了问题。执行命令如下

  1. cd /var/lib/dpkg
  2. sudo mv info info.bak
  3. sudo mkdir info
  4. sudo dpkg --configure -a
  5. sudo apt install -f
  6. sudo mv /var/lib/dpkg/info/* /var/lib/dpkg/info.bak
  7. sudo rm -rf /var/lib/dpkg/info
  8. sudo mv /var/lib/dpkg/info.bak /var/lib/dpkg/info
Copy the Code

继续删旧内核组件,完了执行

  1. sudo apt autoremove
  2. sudo apt clean
Copy the Code

对比整理

因为这是一个基于现有软件的升级过程,升级完成后,肯定有些新软件没有安装,有些不需要的软件包没有删除,所以还要对比虚拟机中的版本一个一个处理。

要删除的内容

桌面智能助手,不能用,删除。
搜狗拼音,有问题,删除。
文档查看器 evince,因为有新的,删除。这个看自己喜好吧。
归档管理器 file-roller,因为有新的,删除。这个看自己喜好吧。
云扫描 deepin-cloud-scanner,删除。
打印设置 system-config-printer,删除。
深度云打印配置助手 printer-driver-deepin-cloud-print,删除。

qt4 相关

这个看具体情况,我这里删除了以下内容

  1. qt4-linguist-tools
  2. qt4-designer
  3. apt search libqt4-     结果中除了 dbus,svg,xml 的部分,因为这三个还要用
Copy the Code

python 相关

这个看具体情况,我这里删除了以下内容

  1. python3.5
  2. libpython3.5*
  3. /usr/local/lib/python3.5/dist-packages
Copy the Code

重启后,表面上没什么问题,一切正常。不过在终端测试 pip 时发现错误

  1. pip 错误 ModuleNotFoundError: No module named 'pip._internal.cli.main'
Copy the Code

apt 重新安装 pip 和 pip3 没用,重新安装 python3.7 python2.7 没用。这下只能用绝招了,直接升级

  1. python3 -m pip install --upgrade pip
Copy the Code

要安装的内容

这个根据需要,直接 apt 安装即可

安装文档查看器 deepin-reader
设备管理器 deepin-devicemanager
日志收集工具 deepin-log-viewer
打印管理器 dde-printer,这里前面如果手工添加了源,会让选择用现有的源还是软件包里的源
茄子 cheese


Reply Favorite View the author
All Replies
avatar
走钢丝
deepin
2020-04-19 03:40
#1
接上文


测试软件

该安装的软件都安装了,该删除的软件也删除了。接着需要一个一个打开启动器中现有的软件,看看是否正常。

最终发现,除了下面的问题,其他软件都能正常使用。版本对不对的,先不管了。

virtualbox

升级后 virtualbox 版本为 6.0.10,打开后,发现虚拟机无法启动,根据提示执行如下命令

  1. sudo /sbin/vboxconfig
Copy the Code

还是不行。看了日志,是编译错误。想了想,决定重装下试试。apt 搜索了一下,原来安装的是 ubuntu 的版本,试了试安装 uos 的 6.1 版本

  1. sudo apt install virtualbox-6.1
Copy the Code

不行,覆盖不了,看来得先删除了才能装。

  1. sudo apt purge virutalbox-6.0
  2. sudo apt install virtualbox-6.1
Copy the Code

这次不报那个错误了,不过还是启动不了。因为虚拟机中用了 usb2.0,所以还得装对应的扩展包。

到官网下载 6.1.4 的扩展包,然后到 virtualbox 中找不到,原来下载的扩展包文件后缀是 gz。那就解压吧,解压了里面也没得啊,只好把其中的主文件后缀改成 vbox-extpack,然后在 virtualbox 中加载,出错了,说是什么不是压缩文件。。。好吧,明白了,应该直接把下载的 gz 文件后缀改成 vbox-extpack,不应该解压。

好了,virtualbox 折腾完成。

立创 EDA

没法用,段错误。官方和 apt 源里也没有新包。先删除吧。

  1. sudo apt purge lceda-client-linux
Copy the Code

应用商店

点启动器中的应用商店图标进去后,总是显示错误。想到论坛里说升级后有两个商店程序,就在 apt 中搜索了下

  1. apt search deepin-app
Copy the Code

果然,有两个版本。v20 商店程序是 deepin-app-store 5.6.3.16,而不是 deepin-appstore 5.3.1.5。删除后者即可

  1. sudo apt purge deepin-appstore*
Copy the Code

dbeaver-ce

启动器中的图标都看完了,发现好像少了什么东西。原来 dbeaver-ce 图标不显示了,在 /usr/share/application 目录中能找到对应的 desktop 文件。

此文件双击也打不开,但执行 desktop 中的命令没问题。因为安装的 7.0 版本,apt 中没有,想着试试下载重装吧。官网慢的要命,通过 sourceforge 可以下载,安装了还是不显示,什么情况?

只好在论坛里问了。。。这才知道删除 desktop 文件中的 WM_CLASS=DBeaver 即可。

其他

启动信息

启动时发现有错误信息

  1. [drm:itel_cpu_fifo_underrun_irq_handler [i915]] *ERROR* CPU pip A FIFO underrun
  2. [drm:itel_set_pch_fifo_underrun_reporting [i915]] *ERROR* uncleared pch fifo underrun on pch transcoder a
  3. [drm:cpt_irq_handler [i915]] *ERROR* PCH transcoder A FIFO underrun
Copy the Code

网上查到的方案是修改 /etc/X11/xorg.conf.d/20-intel.conf,把 sna 改成 uxa:

  1. Section "Device"
  2. Identifier "Intel Graphics"
  3. Driver "intel"
  4. Option "AccelMethod" "uxa"
  5. #Option "AccelMethod" "sna"
  6. EndSection
Copy the Code

Intel 显卡加速选项有三种:默认方式(glamor)、加速模式(sna)和兼容模式(uxa)。我现在是加速模式,改成 uxa 就成兼容模式了,想了想,反正不影响使用,不是什么严重的问题,算了不改了。

功能消失

不知道是哪一次重启后,进入控制中心,发现网络账户图标不见了。想了想,难道是删除组件删除错了?各种相关软件包都重装了一遍,没用。

又打开虚拟机,通过以下命令对比已安装的软件包

  1. dpkg -l
  2. apt search deepin- | grep 已安装
  3. apt search dde- | grep 已安装
Copy the Code

搞了半天,没发现什么可疑的差别。后来想起重启进桌面后,让输入密码解锁密码环,就把控制中心-账户-自动登录关闭了重新打开,再试试,发现问题已解决。

Reply View the author
avatar
ShineWay
deepin
2020-04-19 04:02
#2
厉害厉害
Reply View the author
avatar
走钢丝
deepin
2020-04-20 06:21
#3
新的压缩软件不是一般的慢和不好用。还是装回 file-roller 好了。evince 也一起装上吧。
Reply View the author