news 2026/4/3 6:40:56

蓝易云 :Deepin添加Ubuntu源

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
蓝易云 :Deepin添加Ubuntu源

下面给你一套**“可控变更、可回滚、最小化影响面”**的方案:在 Deepin 上“引入 Ubuntu 源”时,不把系统升级成“混血发行版”,而是通过<span style="color:#e53935">Pinning(优先级锁定)</span>做“按需取包”。这样才能把风险压到可运营范围内。🛡️


先讲结论:直接全量加 Ubuntu 源 = 高风险变更

Deepin 的仓库体系本质是 Debian 系路线(例如 Deepin 20 的仓库就明确基于 Debian 10)。(deepin.org)
把 Ubuntu 源当“主仓库”使用,常见后果是:依赖树被重排、核心库被替换、系统组件被牵引升级,最终出现桌面崩、软件冲突、无法升级等连锁反应。⚠️

风险评估表(给你做变更决策用)

变更方式风险等级影响面建议
直接把 Ubuntu 源写进 sources 并常规升级系统级(glibc/systemd/mesa 等都可能被拉动)不建议
Ubuntu 源 +<span style="color:#e53935">Pinning</span>仅针对少数包取用可控(仅指定包)推荐
不加 Ubuntu 源,改用容器/编译/第三方包格式业务级最推荐 ✅

标准工作流(建议你按“变更单”思路执行)🚀

识别系统基线 → 备份源配置 → 安装密钥环 → 追加Ubuntu源(仅一份list) → 配置Pinning(默认拒绝Ubuntu包) → 更新索引 → 仅安装指定包 → 验收 → 留回滚点

1) 识别你的 Deepin 基线(避免“源写错版本线”)

cat /etc/os-release cat /etc/debian_version uname -m apt-cache policy | sed -n '1,80p'

逐条解释:

  • cat /etc/os-release:确认 Deepin 版本与发行信息(这是变更的“基线记录”)。

  • cat /etc/debian_version:判断底层 Debian 版本线,避免“依赖代际不匹配”。

  • uname -m:确认架构(常见是x86_64/amd64),决定源的arch选择。

  • apt-cache policy:查看当前 APT 识别到的仓库与优先级,为后续 Pinning 校验做证据链。


2) 备份 sources(先留回滚点,别裸奔)

sudo cp -a /etc/apt/sources.list /etc/apt/sources.list.bak.$(date +%F) sudo cp -a /etc/apt/sources.list.d /etc/apt/sources.list.d.bak.$(date +%F) sudo mkdir -p /etc/apt/preferences.d

解释:

  • 两次cp -a:完整保留权限与结构,出现异常可一键恢复。

  • preferences.d:后面要放<span style="color:#e53935">Pinning</span>配置文件,做到“策略可审计”。


3) 准备 Ubuntu 仓库签名信任(避免 “NO_PUBKEY”)

sudo apt update sudo apt install -y ubuntu-keyring

解释:

  • ubuntu-keyring:提供 Ubuntu 仓库签名信任锚点;Ubuntu 的安全文档也明确说明其用于引导全局信任密钥环。(documentation.ubuntu.com)

  • 这一步的价值是:你后面加源后,apt update才能通过签名校验,不会卡在公钥错误上。


4) 追加 Ubuntu 源(只加一份、只做“候选池”)

注意:你要求“不要插入链接”,所以这里用占位符。你只要把镜像地址和版本代号填进去即可。

创建文件:

sudo tee /etc/apt/sources.list.d/ubuntu.list >/dev/null <<'EOF' deb [arch=amd64] <UBUNTU_MIRROR_URL> <UBUNTU_CODENAME> main universe deb [arch=amd64] <UBUNTU_MIRROR_URL> <UBUNTU_CODENAME>-updates main universe deb [arch=amd64] <UBUNTU_MIRROR_URL> <UBUNTU_CODENAME>-security main universe EOF

逐条解释:

  • tee ... ubuntu.list:把 Ubuntu 源单独放一个文件,便于开关与回滚。

  • arch=amd64:限定架构,减少无关索引与误匹配(如果你的uname -m不是 amd64,就不要这样写)。

  • main universe:先从最常用仓库开始,不要一口气把所有组件都开全,降低引入面。

  • -updates / -security:保证安全与更新通道完整(否则装出来的软件可能卡在旧版本)。


5) 关键一步:Pinning(默认拒绝 Ubuntu 包,按需放行)🔒

创建 Pinning 文件:

sudo tee /etc/apt/preferences.d/99-ubuntu-pin >/dev/null <<'EOF' Package: * Pin: release o=Ubuntu Pin-Priority: 100 EOF

解释:

  • Pin: release o=Ubuntu:按“发布方”为 Ubuntu 的包统一降权(如何定义与匹配规则属于 APT 标准机制)。(manpages.debian.org)

  • <span style="color:#e53935">Pin-Priority: 100</span>:含义是“除非没有更合适来源,否则不主动安装该来源版本”;它能阻止系统被 Ubuntu 包带着跑偏。优先级区间规则在 APT 机制里有明确定义。(douglasrumbaugh.com)

管理口径:这一步就是把 Ubuntu 源定位为“备选供应商”,而不是“主供应商”。

仅放行某一个包(示例)

sudo tee /etc/apt/preferences.d/20-allow-somepkg >/dev/null <<'EOF' Package: <PKG_NAME> Pin: release o=Ubuntu Pin-Priority: 501 EOF

解释:

  • 只对<PKG_NAME>提升优先级,让它可以从 Ubuntu 源被选中;其余包依旧拒绝。

  • <span style="color:#e53935">501</span>的目的:让它在候选版本中“可被安装”,但又不至于把全系统升级策略改写。(douglasrumbaugh.com)


6) 更新索引 + 验证候选版本(一定要验收)

sudo apt update apt-cache policy <PKG_NAME>

解释:

  • apt update:拉取索引并触发签名校验,验证“源可用 + 信任链正确”。

  • apt-cache policy:检查该包的候选版本来自哪里(Deepin/Ubuntu),确认 Pinning 是否生效,这是验收证据

安装指定包(两种方式二选一):

sudo apt install -y <PKG_NAME>

或(更强控制:指定版本号)

sudo apt install -y <PKG_NAME>=<VERSION_STRING>

解释:

  • 第一种:让 APT 在 Pinning 规则下自动决策(适合你已经放行的包)。

  • 第二种:强制指定版本号,属于“强管控变更”,最适合生产/关键桌面环境。


7) 回滚方案(出问题别硬扛,快速止血)🧯

sudo rm -f /etc/apt/sources.list.d/ubuntu.list sudo rm -f /etc/apt/preferences.d/99-ubuntu-pin sudo rm -f /etc/apt/preferences.d/20-allow-somepkg sudo apt update

解释:

  • 删除源文件 + 删除 Pinning:恢复到变更前的仓库策略。

  • apt update:刷新索引,确保系统不再引用 Ubuntu 候选池。

  • 如果已经装过 Ubuntu 包:建议用apt-cache policy找到 Deepin 仓库版本号,再用apt install 包=版本号拉回(这是可审计回滚)。


最后的务实建议(少踩坑就是赚钱)😄

  • 想“装软件更全”,最稳的路径通常是:容器 / 独立打包 / 编译安装,而不是把系统仓库混起来。

  • 如果你坚持引入 Ubuntu 源:务必执行<span style="color:#e53935">Pinning 默认拒绝</span>,并且只放行“少量、明确的包”,把变更从“系统级”降维到“业务级”。

如果你把这三项贴出来:/etc/os-releaseapt-cache policy头 80 行、以及你想从 Ubuntu 装的包名清单,我可以直接给你生成一份“按你当前 Deepin 版本线定制”的<UBUNTU_CODENAME>推荐与 Pinning 放行模板,确保策略更贴合你环境。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/27 9:34:59

基于Spring Boot的房屋租赁系统设计-开题报告(2)

目录系统背景与意义核心功能模块技术选型创新点分析预期成果进度计划项目技术支持可定制开发之功能亮点源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作系统背景与意义 房屋租赁系统旨在解决传统租赁流程中信息不对称、效率低下等问题。随着…

作者头像 李华
网站建设 2026/4/1 11:15:00

热销榜单:2026年高口碑图文活码推荐,助你实现二维码信息快速共享

在2026年&#xff0c;图文活码已成为信息共享的热门选择。这些二维码不仅能包含文字&#xff0c;还可以嵌入图像&#xff0c;使得信息传递更加生动直观。众多用户在活动推广、在线营销等场合中都能受益于它的便捷性。使用图文活码&#xff0c;用户能够实时更新内容&#xff0c;…

作者头像 李华
网站建设 2026/4/3 4:13:23

小红的好排列【牛客tracker 每日一题】

小红的好排列 时间限制&#xff1a;1秒 空间限制&#xff1a;256M 知识点&#xff1a;数论 网页链接 牛客tracker 牛客tracker & 每日一题&#xff0c;完成每日打卡&#xff0c;即可获得牛币。获得相应数量的牛币&#xff0c;能在【牛币兑换中心】&#xff0c;换取相应…

作者头像 李华
网站建设 2026/3/29 14:31:17

学长亲荐 9 个降AIGC网站 千笔·专业降AI率智能体解决论文AI痕迹

AI降重工具&#xff1a;让论文更自然&#xff0c;让学术更纯粹 在如今的学术环境中&#xff0c;越来越多的研究生开始关注论文中的AIGC率和查重率问题。随着AI技术的广泛应用&#xff0c;许多学生在写作过程中会借助AI工具进行内容生成&#xff0c;但随之而来的就是论文中可能存…

作者头像 李华