news 2026/4/18 13:56:14

别再到处找安装包了!手把手教你用Deepin-Wine把Windows版QQ打包成Deb,在UOS/Deepin上自己动手

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
别再到处找安装包了!手把手教你用Deepin-Wine把Windows版QQ打包成Deb,在UOS/Deepin上自己动手

深度定制:用Deepin-Wine打造专属Windows软件Deb包的终极指南

每次打开UOS或Deepin的应用商店,发现QQ版本还停留在两年前,而同事的Windows电脑上早已用上了最新功能——这种体验对Linux桌面用户来说太熟悉了。官方软件源更新滞后的问题,让许多用户不得不放弃心仪的功能,或者冒险使用来路不明的第三方打包。其实,你完全有能力自己动手,将最新版Windows软件打包成可靠的Deb安装包,彻底摆脱版本滞后的困扰。

1. 为什么需要自己打包Windows软件

Linux桌面生态一直面临着软件匮乏的挑战,特别是国内常用软件的支持往往不尽如人意。Deepin团队开发的Deepin-Wine技术,通过在Linux上运行Windows程序,部分缓解了这一难题。但官方仓库的软件版本更新速度,常常跟不上Windows原版的节奏。

自己打包Windows软件到Deb包的核心优势在于:

  • 版本自由:不再受限于发行版维护者的更新节奏,随时可以使用最新版本
  • 功能完整:官方原版的所有功能都能得到保留,避免社区版可能的阉割
  • 系统集成:打包后的Deb可以完美融入系统,像原生应用一样管理
  • 个性定制:可以按需调整软件配置,加入自己需要的补丁或插件

提示:虽然本文以QQ为例,但同样的方法适用于大多数基于Deepin-Wine的Windows软件打包,如微信、钉钉等。

2. 准备工作与环境配置

2.1 基础工具安装

在开始之前,确保你的Deepin或UOS系统已经安装了必要的工具:

sudo apt update sudo apt install p7zip-full deepin-wine5 dpkg-dev -y

这些工具各司其职:

  • p7zip:用于处理压缩文件
  • deepin-wine5:运行Windows程序的核心环境
  • dpkg-dev:构建Deb包所需的工具链

2.2 创建纯净的Wine容器

为了避免与系统已有配置冲突,我们为QQ创建一个独立的Wine容器:

WINEARCH=win32 WINEPREFIX=~/.deepinwine/qq deepin-wine5 winecfg

这条命令做了三件事:

  1. WINEARCH=win32指定创建32位环境(多数Windows软件兼容性更好)
  2. WINEPREFIX设置容器的存储位置
  3. winecfg初始化配置并生成容器目录

2.3 解决中文显示问题

Windows程序在Linux下常见的中文乱码问题,通常是由于字体缺失造成的。将中文字体复制到Wine容器的字体目录:

cp ./simsun.ttc ~/.deepinwine/qq/dosdevices/c:/windows/Fonts/ cp ./simsun.ttc ~/.deepinwine/qq/dosdevices/c:/windows/Fonts/Tahoma.ttc

3. 软件安装与初始配置

3.1 获取最新版QQ安装包

直接从腾讯官网下载最新版的QQ安装程序:

wget https://down.qq.com/qqweb/PCQQ/PCQQ_EXE/PCQQ2021.exe

注意:URL中的版本号可能会随时间变化,建议访问官网获取最新下载链接。

3.2 在Wine容器中安装QQ

使用指定前缀运行安装程序:

WINEPREFIX=~/.deepinwine/qq deepin-wine5 PCQQ2021.exe

安装过程中,Wine会模拟Windows环境,所有文件将被安装到~/.deepinwine/qq虚拟的C盘中。安装完成后,你可以在以下位置找到相关文件:

  • 桌面图标~/.local/share/icons/hicolor/
  • 快捷方式~/.local/share/applications/

4. 逆向工程官方Deb包

4.1 获取基础模板包

我们需要一个官方QQ的Deb包作为模板,从中提取打包所需的框架:

apt download com.qq.im.deepin

这个命令会下载当前仓库中的QQ Deb包,而不会安装它。

4.2 解包分析结构

Deb包实际上是一个ar归档文件,包含三个主要部分:

  1. debian-binary:格式版本号
  2. control.tar.gz:包含包的控制信息
  3. data.tar.gz:包含实际要安装的文件

我们使用dpkg工具解包:

mkdir -p package/extract/DEBIAN dpkg -x com.qq.im.deepin_9.3.2deepin20_i386.deb package/extract/ dpkg -e com.qq.im.deepin_9.3.2deepin20_i386.deb package/extract/DEBIAN/

解包后的目录结构如下:

package/ └── extract/ ├── DEBIAN/ │ ├── control │ ├── md5sums │ └── ... └── opt/ └── apps/ └── com.qq.im.deepin/ ├── entries/ ├── files/ └── info

5. 关键文件修改与定制

5.1 更新版本信息

我们需要修改多处版本号以匹配新安装的QQ版本:

sed -i 's@9.3.2@9.4.8@g' package/extract/opt/apps/com.qq.im.deepin/info sed -i 's@9.3.2@9.4.8@g' package/extract/opt/apps/com.qq.im.deepin/files/run.sh sed -i 's@9.3.2@9.4.8@g' package/extract/DEBIAN/control

info文件是Deepin软件包的核心配置文件,其结构如下:

{ "appid": "com.qq.im.deepin", "name": "QQ", "version": "9.4.8deepin20", "arch": ["i386"], "permissions": { "autostart": false, "notification": false, "trayicon": true, "clipboard": true, "account": false, "bluetooth": false, "camera": true, "audio_record": true, "installed_apps": false } }

5.2 替换核心文件

将我们新安装的QQ文件替换模板包中的旧版本:

cd package/extract/opt/apps/com.qq.im.deepin/files rm files.7z 7z a files.7z ~/.deepinwine/qq/*

这个步骤将整个Wine容器压缩打包,替换原有的files.7z文件。7z格式提供了较好的压缩率,适合包含大量小文件的Windows程序。

6. 构建最终的Deb包

6.1 生成文件校验信息

为确保包完整性,我们需要为所有文件生成MD5校验和:

cd package find extract/opt -type f -print0 | xargs -0 md5sum > md5sums mv md5sums extract/DEBIAN/md5sums

6.2 执行打包命令

一切准备就绪后,使用dpkg-deb工具构建最终的Deb包:

mkdir build dpkg-deb -b extract/ build/

成功执行后,你会在build目录下找到新生成的Deb包,文件名类似于com.qq.im.deepin_9.4.8deepin20_i386.deb

7. 测试与安装

7.1 清理测试环境

在安装新包之前,建议清理之前的Wine容器以避免冲突:

rm -rf ~/.deepinwine/qq

7.2 安装自定义包

使用dpkg安装你亲手打造的Deb包:

sudo dpkg -i build/com.qq.im.deepin_9.4.8deepin20_i386.deb

安装完成后,你可以在应用菜单中找到QQ,它将以最新版本运行,同时完美集成到Deepin/UOS的桌面环境中。

7.3 常见问题排查

如果遇到问题,可以检查以下几个方面:

  1. 版本号一致性:确保所有文件中的版本号都已正确更新
  2. 文件权限:检查打包过程中是否有文件权限被意外修改
  3. 依赖关系:使用sudo apt install -f修复可能的依赖问题
  4. Wine配置:如果程序无法启动,尝试重新创建Wine容器

8. 进阶技巧与扩展应用

掌握了基本打包方法后,你可以进一步优化和扩展:

  • 多版本共存:通过修改appid和安装路径,实现同一软件的多个版本并存
  • 预配置:在打包前对Wine容器进行调优,如注册表修改、DLL覆盖等
  • 自动更新:编写脚本自动检测新版本并重新打包
  • 界面美化:替换程序图标和桌面文件,使其更符合Linux桌面风格

对于需要频繁更新的软件,可以考虑将整个过程脚本化。下面是一个简化版的自动化脚本框架:

#!/bin/bash VERSION="9.4.8" DOWNLOAD_URL="https://down.qq.com/qqweb/PCQQ/PCQQ_EXE/PCQQ2021.exe" # 清理旧容器 rm -rf ~/.deepinwine/qq # 创建新容器并安装QQ WINEARCH=win32 WINEPREFIX=~/.deepinwine/qq deepin-wine5 winecfg cp simsun.ttc ~/.deepinwine/qq/dosdevices/c:/windows/Fonts/ wget -O PCQQ.exe "$DOWNLOAD_URL" WINEPREFIX=~/.deepinwine/qq deepin-wine5 PCQQ.exe # 打包过程 apt download com.qq.im.deepin mkdir -p package/extract/DEBIAN dpkg -x com.qq.im.deepin_*.deb package/extract/ dpkg -e com.qq.im.deepin_*.deb package/extract/DEBIAN/ # 更新版本信息 sed -i "s@9.3.2@$VERSION@g" package/extract/opt/apps/com.qq.im.deepin/info sed -i "s@9.3.2@$VERSION@g" package/extract/opt/apps/com.qq.im.deepin/files/run.sh sed -i "s@9.3.2@$VERSION@g" package/extract/DEBIAN/control # 替换文件 cd package/extract/opt/apps/com.qq.im.deepin/files rm -f files.7z 7z a files.7z ~/.deepinwine/qq/* # 构建deb包 cd ../../../../../.. find package/extract/opt -type f -print0 | xargs -0 md5sum > package/md5sums mv package/md5sums package/extract/DEBIAN/ mkdir -p package/build dpkg-deb -b package/extract/ package/build/

这个脚本可以保存为update-qq.sh,每次需要更新时,只需修改版本号和下载URL,然后运行脚本即可自动完成所有步骤。

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

Figma中文汉化终极指南:免费插件让界面秒变中文

Figma中文汉化终极指南:免费插件让界面秒变中文 【免费下载链接】figmaCN 中文 Figma 插件,设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN 还在为Figma的英文界面而烦恼吗?作为一名中文设计师,…

作者头像 李华
网站建设 2026/4/18 13:55:30

Python 代码质量:静态分析与最佳实践

Python 代码质量:静态分析与最佳实践 引言 在软件开发中,代码质量是确保项目成功的关键因素之一。高质量的代码不仅易于理解和维护,还能减少bug和提高开发效率。对于Python开发者来说,了解如何评估和提高代码质量尤为重要。本文将…

作者头像 李华
网站建设 2026/4/18 13:54:12

MindSpeed LLM率先支持MiniMax M2.7训练复现,加速模型迭代完成复杂任务

2026年4月12日,MiniMax正式开源MiniMax M2.7模型,在真实软件工程、专业办公与多智能体协作场景中的出色表现,是其第一个自我深度迭代的模型。昇腾MindSpeed LLM率先在Atlas 900 A3 SuperPoD液冷超节点、Atlas 800 A3风冷超节点上实现MiniMax …

作者头像 李华