[Share Experiences] 【请勿模仿】如何从 Deepin 20.3 换源升级到 Deepin 23 Nightly Resolved
Tofloor
poster avatar
忘记、过去
Moderator
2021-12-26 23:11
Author

如何从 Deepin 20.3 升级到 23 Nightly

前言

  • 如果你已经加入了 Deepin 20.3 内测,那么绝对不建议进行任何尝试!
  • Deepin 23 Nightly 目前的包版本号和 20.3 正式版保持一致,并没有 20.3 内测源新。
  • 可以说就是两条平行线,不要轻易换源更新(说白了其实是降级,毕竟 20.3 内测的很多功能是 1050 专业版才会有的)

准备工作

  • sudo apt install live-filesystem 安装 live 环境,会在 grub 菜单中显示。这个东西能在关键时刻救命。
  • 执行 sudo apt install linux-headers-deepin-stable-amd64 linux-image-deepin-stable-amd64 安装 5.15 内核(实测使用 5.10.60 内核会导致升级后 tty 无法正常登录,输入用户名后直接返回登录失败)
  • 备份好自己的重要数据!!!

推荐作死过程(其实不推荐......)

  • 保证自己的源是 Deepin 20.3 正式源,系统未升级到内测版。
  1. 重启,从 5.15 内核进入系统
  2. 修改 /etc/apt/sources.list 源文件,加入 https://bbs.deepin.org/post/229600 17楼 大佬提供的 dde-bullseye 相关源(共 4 条),同时 注释掉原有的正式版源
  3. 执行 sudo passwd root 设置 root 用户密码,方便登录 root 用户(建议后续操作直接在 root 下进行)
  4. 执行 sudo apt update,获取新的源索引文件。

  • 后续操作推荐在 tty 中进行,执行 sudo init 3 后输入用户名密码登录。
  • 推荐执行 su 切换到 root 用户,后续操作不用 sudo
  1. 执行 sudo apt update,获取新的源索引文件。
  2. 执行 sudo apt dist-upgrade,下载安装更新。
  • 此过程中你可能会看到很多东西都被卸载掉了,比如 dde 的相关组件啥的。别怕,卸载了再装回来就行 XD......

升级过程中的常见问题处理

  1. 升级过程中出现 dpkg 错误,显示 a 依赖 b,但 b 尚未进行配置

​ ​ 执行 sudo dpkg --audit 查看具体错误信息,尝试执行 sudo dpkg --configure --pending 对软件包进行配置。部分配置结束后,执行 sudo apt --fix-broken install 修复破损的依赖关系。反复执行上述过程解决错误问题后,重新执行 sudo apt dist-upgrade 继续升级操作,直到所有包升级完成。

  1. 升级过程中出现 dpkg 错误,a 包含 x 文件,但该文件同时被 b 包含,导致 a 安装失败

​ ​ 首先确定 a 包名是什么。然后执行 cd /var/cache/apt/archives 跳转到 apt 包缓存文件夹下,再输入 sudo dpkg -i --force-overwrite a的包名,按 Tab 键补全完整文件名,强制进行文件覆盖安装。(这是没有办法的办法,一般不推荐这么做)最后进行 1 中描述的相关操作继续升级。

  1. dpkg 异常中断后,执行 sudo 提示 PAM 认证失败

​ ​ 运气太差,dpkg 中断的地方导致 sudo 权限都挂掉了......这时候只能靠 live 环境 chroot 来救了。相关处理操作写在最后面。


  • 当执行 sudo apt dist-upgrade 发现已经没有东西可以升级了(升级不了的大多数都被卸载了......),可以在 tty 中按下 Ctrl + Alt + Del 重启电脑。重启之后,大概率会显示一堆 [Failed] 进不去图形界面。别慌,按下 Ctrl + Alt + F2 进入 tty2 继续进行修复操作。
  1. 重新安装图形界面

​ ​ 执行 sudo apt reinstall xserver-xorg-core xserver-xorg-input-all 安装 x11 相关服务和驱动(不然会出现能显示图形界面,鼠标键盘没反应的尴尬问题)

  1. 重新安装启动动画相关包

​ ​ 执行 sudo apt reinstall plymouth libplymouth5 安装启动动画。

  • 执行 sudo plymouth-set-default-theme deepin-ssd-logo -R 设置启动动画。
  1. 重新安装 dde 启动的几个重要组件

​ ​ 执行 sudo apt reinstall startdde dde-session-shell dde-session-ui dde-kwin 重新安装登录界面和窗口管理器相关软件包,保证能正常看到登录界面。

  1. 重新安装 dde 以及 deepin 全家桶

​ ​ 执行 sudo apt reinstall dde,如果先前升级中 dde 相关应用被卸载,这里可以把大部分装回来。

  • 至此应该算是升级完成了,理论上应该可以正常登录进桌面了。如果出现 DTK 应用无法启动,执行 sudo apt reinstall 包名 重新安装 dde-bullseye 源中的版本尝试即可。

从 Deepin 20.3 内测版跨版本降级到 Deepin 23 Nightly

  • 极度不推荐这么干,太折磨了......挑几个重点操作说下吧......
  1. 安装 dde 提示各种包依赖 qtbase-abi-5-15-1,但是无法被安装

​ ​ dde-bullseye 源中 libqt5core5a 版本为 5.15.2,没有提供 5.15.1 的 abi 虚包。需要进行骚操作,修改 /var/lib/dpkg/status 文件,自己写一个 qtbase-abi-5-15-1 的安装记录,让 dpkg 认为这个虚包已经安装过了。具体操作涉及到 vim 等编辑器操作,不再展开。(照着别的记录抄就行了,包名没错就行,版本号随便写个 5.15.2 也行,反正最后都处理完了迟早要删掉,执行 sudo apt purge qtbase-abi-5-15-1 即可)

  1. sudo 提示 PAM 认证失败

​ ​ 进 live 用 chroot 抢救一下吧,写后面了。

  1. 各种 dde 显示不正常问题

​ ​ 执行 apt policy 包名 一个一个查过去吧,不少包在 20.3 内测源版本比 23 要高,得一个一个执行 sudo apt reinstall 包名=版本号 这样子降级回来。这里挑几个重点列出来吧,再多的还没找全......

libdtkwidget5
libdtkgui5
libdtkcore5

startdde
dde-session-shell
dde-session-ui
dde-kwin
dde-daemon
dde-launcher
dde-control-center

fcitx

nvidia-driver

如何进 live 抢救自己的宝贝系统

  • 不得不说,源里面至今留着 V15 时候的 live 系统挺意外的。要不是之前恰好装过,这次作死尝试就要以重装收场了 XD......虽然风格上有些怀旧,但还是挺好用的。
  • 注意,live 系统还是 4.19 内核,不少驱动都没有,尤其是显卡和网卡啥的。有线网卡推荐 RTL8111,大多数主板和笔记本都是这个,插上线就能上网了。如果启动不起来,建议整个 Ubuntu 安装盘试试。
  1. 执行 lsblk 查看自己系统的挂载点和设备名称

​ ​ 我这里根目录在 nvme0n1p5 分区上,所以是 /dev/nvme0n1p5。

  1. 执行 sudo passwd root 修改 root 密码,再执行 su 切换到 root。
  2. 执行 mkdir -p /mnt/backup 创建 backup 文件夹,后面要把根目录挂载到这里。

​ ​ 文件夹名自定,反正尽量在 /mnt 底下吧,教程一般都这么写的。

  1. 依次执行下列操作,挂载根目录
mount -t ext4 /dev/nvme0n1p5 /mnt/backup(根据你自己的设备号和文件夹来写)(应该都是 ext4 格式分区吧......)
mount -o bind /dev /mnt/backup/dev(同上,根据你的挂载文件夹来写。这里不挂载这三个会导致部分操作异常)
mount -o bind /proc /mnt/backup/proc
mount -o bind /sys /mnt/backup/sys
  1. 执行 chroot /mnt/backup 进入系统环境
  • 至此可以重新在 live 里面继续进行相关操作了,能不能升级成功就看各位的操作了......

总结

​ ​ 通过自己的作死尝试,从 Deepin 20.3 内测版换源升级到 Deepin 23 Nightly,下载相关软件包共计 1.5 小时,各种升级修复操作 2.5 小时(包括现学 chroot 修复等)。过程过于折磨,还要处理各种 dde 显示异常问题(都是内测源版本过高要降级,一个一个查太折磨了)。反正有这个时间,重装系统再恢复,再重新配环境都够了。更别说 23 Nightly 目前功能上还不如 20.3 内测先进,不少特性都没上新。

​ ​ 反正就一句话,又肝又折磨,不推荐新人折腾。老老实实用正式版,或者升级内测版就行了 XD......

Reply Favorite View the author
All Replies
正直笔尖
deepin
2021-12-26 23:32
#1

Deepin 23 Nightly 太粗糙,bug太多,就像乱七八糟的废品站

Reply View the author
Hibanaw
deepin
2021-12-27 00:07
#2
正直笔尖

Deepin 23 Nightly 太粗糙,bug太多,就像乱七八糟的废品站

都说了是 Nightly

Reply View the author
mardou
deepin
2021-12-27 00:17
#3
Hibanaw

都说了是 Nightly

哈哈

Reply View the author
神末shenmo
deepin
2021-12-27 01:16
#4
The user is banned, and the content is hidden.
ronghai
deepin
2021-12-27 03:05
#5
Hibanaw

都说了是 Nightly

夜市版?

Reply View the author
Hibanaw
deepin
2021-12-27 05:09
#6
ronghai

夜市版?

Reply View the author
deepin-superuser
deepin
2021-12-27 05:35
#7

好家伙,原来 20.3内测 到 23 Nightly 是降级😂

Reply View the author
deltacatxx
deepin beta test group
2021-12-27 07:00
#8
正直笔尖

Deepin 23 Nightly 太粗糙,bug太多,就像乱七八糟的废品站

你应该知道Nightly的含义和性质

Reply View the author
deltacatxx
deepin beta test group
2021-12-27 07:04
#9

y1s1,我好像记得刚安装时,dde好像和20.3内测版是一样的。(我记得有内测版的功能,比如说任务栏设置)

 

然后更新后,又变成20.3正式版了

话说Nitghtly应该也会跟内测进度吧(

Reply View the author
忘记、过去
Moderator
2021-12-27 07:22
#10
deltacatxx

y1s1,我好像记得刚安装时,dde好像和20.3内测版是一样的。(我记得有内测版的功能,比如说任务栏设置)

 

然后更新后,又变成20.3正式版了

话说Nitghtly应该也会跟内测进度吧(

这个就不晓得了,想跟上进度就要把所有包都扔到新的打包环境上重新跑一遍了......各个项目都有自己的开发计划,有没有时间适配新环境就不好说了,毕竟出了 BUG 就要解......

Reply View the author
wtz
deepin
2021-12-27 16:58
#11

感谢楼主的分享!本来准备冒死换源的,现在有心理准备后就踏实多了like

Reply View the author
lovecui198700
deepin
2021-12-27 17:58
#12
wtz

感谢楼主的分享!本来准备冒死换源的,现在有心理准备后就踏实多了like

已经换源更新了,没啥异常啊,难到我折腾得太少了?🐱

Reply View the author
觅云
deepin
2021-12-27 21:50
#13

我也是安装来测试一下,感觉没有多大的变化,看到各位发的这么多问题,是我没有发现的,也是学习了。

Reply View the author
kawaks14
deepin
2021-12-28 16:48
#14

23源我装chrome会提示缺少依赖libgcc-s1,换回稳定版了

Reply View the author
mmlmonkey
deepin
2021-12-31 00:54
#15

内测想降级的话很容易 改一下主源的优先级 distupgrade 一下就行了 实测完美复原

Reply View the author