Deepin 23 踩坑记
(首发地址:学习日记 https://www.learndiary.com/2024/12/deepin23-questions/)
Deepin 23 是由统信软件技术有限公司牵头开发一款开源 Linux 桌面操作系统(参考链接1),从2022年发布预览版(参考链接2)到2024年8月发布正式版(参考链接3),历经了三年的开发。我是从 2021年开始使用 Deepin 20 版的(参考链接4),主要是免了自己折腾一些 Windows 下用 Wine 安装的程序。目前家用和工作的主力系统就是 Deepin。
前段时间 Deepin 23 正式版发布后,本着还能用就不升级的懒人原则,两台 Deepin 电脑都没从20.9升级到23。一天,我在浏览 Deepin 论坛的时候,有点大吃一惊的感觉,不少贴子都有对 Deepin 23 大批特批,我在想,Deepin 23 真的这么不堪么?于是,决定把家里那台20.9升级到23试试。视频讲解:【Deepin 23 踩坑记】 https://www.bilibili.com/video/BV1k5qHYYEEe/
Deepin 23 踩坑记
升级的这台电脑是 i7-4770 CPU,金士顿 NVME 固态硬盘,系统分区是 btrfs 格式,16G内存,NVIDIA P106-100显卡。这篇日记我也不说 Deepin 23 的特色和优点的了(参考链接3),像“原子更新”、“如意玲珑”、“UOS AI”等这之类的新特性我也不怎么用,主打的要求就是:我要使用的软件功能都有、系统稳定。下面主要记录我在 Deepin 23 上安装配置 Deepin 20.9 上我的常用软件时踩过的一些坑,及一些感想。
一、系统升级
升级之前我用 btrfs 快照对原来的 20.9 系统作了快照。然后像之前升级 Debian 那样用命令行升级,就是 sudo apt update, sudo apt upgrade,换源,sudo apt update,sudo apt upgrade,sudo apt dist-upgrade … 这样操作,失败。
然后,恢复快照后,用软件商店那个“系统升级工具”升级,失败。
最后,我只得在保留 /home 分区的情况下,全新安装 Deepin 23。
二、软件安装
我是 Nvidia P106-100 的矿卡,需要使用 prime-select 切换显卡,但原来的那个包 deepin-prime 在 V23 里面没有。因为有时升级 VirtualBox 会出现一些问题,我还是下载安装 VirtualBox 官网上的 6.1.15 Debian 版本,但安装时报告缺乏依赖包。原来玩原神用的“wine游戏助手”没有。
以上问题我的解决办法是添加 Deepin 20 的软件源如“deb [by-hash=force] https://mirrors.tuna.tsinghua.edu.cn/deepin/ apricot main contrib non-free”,然后 sudo apt update,再安装就解决了。
但是这里要注意一个问题,不能在启用 V20 源的情况下执行系统更新操作 sudo apt upgrade。我发现一个问题,V20 一些软件的版本号比 V23 要高。比如,我在不加 V20 源的情况下把系统更新到最新,加上V20的源后,sudo apt update 后还显示可以更新73个包。这时,如果手贱继续执行了 sudo apt upgrade 或 sudo apt dist-upgrade,把 V20 的包更新进 V23 后,Grub 项目的名称就会变成 20.9 了。应该是相关包固定写入的版本信息了。
所以,我现在的做法是,在有必要使用 V20 的包时在 /etc/apt/sources.list 中启用 V20 的源,用了后就立即注释掉并执行 sudo apt update 更新软件源缓存。
另外,我在 V20.9 里面是使用 Uengine 安装一些手机应用的,但 V23 中没有这个软件了,就是启用 V20 的源也安装不成功。这里,我找了一个闭源的个人免费的“麟卓” Android 模拟器来代替(参考链接5)。
三、系统配置
我这里主要是碰到了桥接网络的配置问题。为了使用 virt-manager 虚拟机的桥接网络模式,需要在 Deepin 23 里面配置一个桥接网卡。原来 Deepin 20 的桥接网卡配置用的是旧式的 networking 服务(参考链接6),但是这种方法在 Deepin 23 中失效了。我测试了一下,可以使用 NetworkManager 的方式设置(参考链接7),也可以使用 systemd-networkd 的方法设置(参考链接8)。
四、未解决问题
升级到V23后,现在不能挂起和休眠。换了其他版本内核也一样。但曾经也成功挂起过。至今未找到原因并解决。
五、一点感想
上面提到的主要问题是与V20的衔接不畅以及部分软件包缺失。我感觉跟2022年V23开始的根社区建设有关(参考链接9)。关于根社区具体我也不是很了解,仅就我了解的 Debian 社区的“不稳定”->“测试”->“稳定”的开发流程(参考链接10)和软件包管理网页(参考链接11)来作对比,Deepin 作为一个根社区的开发流程和框架好像还不成熟,需要进一步的努力。
六、参考链接
- deepin Wiki - 深度百科 https://wiki.deepin.org/zh/home
- 深度操作系统 V23 Preview正式发布!(2022年8月16日) https://bbs.deepin.org/post/241641
- 2024年8月15日deepin 23正式版发布公告 https://bbs.deepin.org/zh/post/276603
- Deepin Linux 试用小记 https://www.learndiary.com/2021/01/deepin-linux-%e8%af%95%e7%94%a8%e5%b0%8f%e8%ae%b0/
- 北京麟卓 https://www.linzhuotech.com/
- Bridging Network Connections https://wiki.debian.org/BridgeNetworkConnections
- Ubuntu 20.04 add network bridge (br0) with nmcli command https://www.cyberciti.biz/faq/ubuntu-20-04-add-network-bridge-br0-with-nmcli-command/
- Systemd-Networkd setting up a network bridge https://wiki.debian.org/SystemdNetworkd#setting_up_a_network_bridge
- [社区新闻] 深度社区全新规划:打造中国主导的桌面系统根社区! https://bbs.deepin.org/post/237175
- Debian Releases https://wiki.debian.org/DebianReleases
- Debian 软件包 https://www.debian.org/distrib/packages
相关文章:
Deepin 23 踩坑记
(首发地址:学习日记 https://www.learndiary.com/2024/12/deepin23-questions/) Deepin 23 是由统信软件技术有限公司牵头开发一款开源 Linux 桌面操作系统(参考链接1),从2022年发布预览版(参考…...

mysql笔记——索引
索引 InnoDB采用了B树索引结构。 相比于二叉树,层级更少,搜索效率高。 B树中叶子节点和非叶节点都会存储数据,导致段页式存储中一页存储的键值减少,指针也会减少,要同样保存大量数据,只能增加树的高度&a…...
考研数据结构——简答题总结
数据结构的4种基本结构及特点: 数组(Array): 特点:数组是一种线性数据结构,使用连续的内存空间存储元素,可以通过索引直接访问任意位置的元素。优点:访问速度快,因为元…...
Qt Creator 里面设置MSVC 为 utf-8
在使用 Qt Creator 和 MSVC(Microsoft Visual C++)编译器进行开发时,我们可能会遇到中文乱码的问题。这通常是由于编码设置不正确导致的。 在 Qt Creator 中,你可以通过以下步骤设置默认编码为 UTF-8: 打开 Qt Creator,选择菜单栏中的“工具”(Tools) > “选项”(Opti…...

Java阶段三06
第3章-第6节 一、知识点 理解MVC三层模型、理解什么是SpringMVC、理解SpringMVC的工作流程、了解springMVC和Struts2的区别、学会使用SpringMVC封装不同请求、接收参数 二、目标 理解MVC三层模型 理解什么是SpringMVC 理解SpringMVC的工作流程 学会使用SpringMVC封装请求…...

Helm安装Mysql8主从复制集群
目录 一、Helm安装 二、安装mysql 1、拉取镜像 2、修改配置文件 3、创建mysql-secret 4、安装 一、Helm安装 这里不再赘叙,具体安装请参考官网 Helm | 快速入门指南 二、安装mysql 1、拉取镜像 #添加仓库 helm repo add bitnami https://charts.bitnami.c…...
嵌入式基础:Linux C语言:Day7
重点: strlen()函数\strcpy()函数\strcat实现\strcmp()实现 数组的清空:bzero函数、memset函数 一、字符数组 <1> 概念 字符数组本质上就是一个数组,保存一个个字符,也一般用来保存字符串 字符串由多个字符组成的一个字符…...

Tablesaw封装Plot.ly实现数据可视化
上文介绍tablesaw的数据处理功能,本文向你展示其数据可视化功能,并通过几个常用图表示例进行说明。 Plot.ly包装 可视化是数据分析的重要组成部分,无论你只是“查看”新数据集还是验证机器学习算法的结果。Tablesaw是一个开源、高性能的Java…...
RAG与Embedding:现代NLP的核心技术
本篇文章简单梳理我在了解RAG以及Embedding技术时的想法,仅供参考 文章目录 1. 引言背景为什么要关注RAG与Embedding技术 2. 基础概念与原理2.1 什么是RAG (Retrieval-Augmented Generation)定义工作流程优点与适用场景 2.2 什么是Embedding定义作用 3. Embedding在…...
力扣每日一题 - 1812. 判断国际象棋棋盘中一个格子的颜色
题目 还需要你前往力扣官网查看详细的题目要求 地址 1.给你一个坐标 coordinates ,它是一个字符串,表示国际象棋棋盘中一个格子的坐标。下图是国际象棋棋盘示意图。2.如果所给格子的颜色是白色,请你返回 true,如果是黑色ÿ…...
Map 那些事儿
1. map 的基本结构 Go 的 map 是一种哈希表,其核心思想是通过哈希函数将键映射到某个位置(桶)以存储对应的值。它主要包含以下关键部分: •桶(bucket):存储键值对的容器,map 中的元…...

GCP Case:MountKirk Games
游戏后端 根据游戏活动动态放大或缩小。 连接到托管的nos0l数据库服务。 运行定制的linux发行版。 游戏分析平台 根据游戏活动来扩大或缩小规模直接处理来自游戏服务器的传入数据。 处理由于移动网络缓慢而迟到的数据。 通过sql查询来访问至少10tb的历史数据 处理由用户…...
[创业之路-187]:《华为战略管理法-DSTE实战体系》-1-从UTStarcom的发展历程,如何辩证的看企业初期发展太顺利中的危机
目录 一、UTStarcom(UT斯达康)的发展历程 1、创立与初期发展 2、快速成长与上市 3、技术创新与业务拓展 4、战略调整与持续发展 二、从UTStarcom的发展历程,如何辩证的看企业初期发展太顺利中的危机 1、企业初期发展的顺利表现 2、顺…...

高级数据结构-树状数组
介绍 树状数组的推导 两个基础操作 模板-acwing795. 前缀和 #include<bits/stdc.h> using namespace std;const int N 1e610; int c[N]; int lowbit(int x){return x & -x; }int query(int x){int ans 0;for(; x; x - lowbit(x)) ans c[x];return ans; }void add…...
LeetCode279. 完全平方数(2024冬季每日一题 27)
给你一个整数 n ,返回 和为 n 的完全平方数的最少数量 。 完全平方数 是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1、4、9 和 16 都是完全平方数,而 3 和 11 不是。 …...

Scala 隐式转换
object test {//复习隐式转换://隐式转换:编译器 偷偷地,自动地帮我们把一种数据转换为另一种类型//例如:int --> double//它有失败的时候(double --> int),有成功的时候//当它转换失败的…...

K8S命令部署后端(流水线全自动化部署)
前言 本文为链接: 云效流水线k8s半自动部署java(保姆级)的补充,本文起初的目的是为了补充完善k8s流水线的全自动化部署,但是也适用于k8s的一键重启,因为使用k8s的web页面容易出现漏点的情况,因此也可以把代码保存为shell脚本,同样可以实现一键重启。关于…...

Ubuntu中配置交叉编译工具的三条命令的详细研究
关于该把下面的三条交叉编译配置语句加到哪里,详情见 https://blog.csdn.net/wenhao_ir/article/details/144326545 的第2点。 现在试解释下面三条交叉编译配置语句: export ARCHarm export CROSS_COMPILEarm-buildroot-linux-gnueabihf- export PATH$…...

【PyQt5教程 二】Qt Designer 信号与槽的使用方法及PyQt5基本小部件说明
目录 一、信号与槽机制: 二、信号与槽使用方法: (1)使用Qt Designer 的信号与槽编辑器: (2)使用固定语法直接建立信号槽连接: 三、PyQt小部件及其触发信号: &#x…...

编程语言中接口(Interface)介绍
编程语言中接口(Interface)介绍 在编程语言中,“接口”(Interface)是一种抽象类型,定义了一组方法(和属性),但不包含其具体实现。接口通常用于规定类必须实现的行为&…...
【杂谈】-递归进化:人工智能的自我改进与监管挑战
递归进化:人工智能的自我改进与监管挑战 文章目录 递归进化:人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管?3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...
Linux链表操作全解析
Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...
在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能
下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能,包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...

高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...
如何为服务器生成TLS证书
TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...

C++ 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...

分布式增量爬虫实现方案
之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面,避免重复抓取,以节省资源和时间。 在分布式环境下,增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路:将增量判…...

如何在网页里填写 PDF 表格?
有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据ÿ…...

Docker 本地安装 mysql 数据库
Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker ;并安装。 基础操作不再赘述。 打开 macOS 终端,开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...

push [特殊字符] present
push 🆚 present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中,push 和 present 是两种不同的视图控制器切换方式,它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...