首页
/ 零基础实战:Linux系统下wiliwili的Debian打包全流程指南

零基础实战:Linux系统下wiliwili的Debian打包全流程指南

2026-04-22 09:27:14作者:沈韬淼Beryl

wiliwili作为专为手柄控制设计的跨平台B站客户端,支持多设备运行。本文将通过"需求分析→方案设计→分步实施→验证优化"的四阶段框架,带您零基础完成Debian打包(Debian软件包制作),让这款应用在Debian及其衍生系统上轻松安装使用。

一、需求分析:Linux软件打包前的环境兼容性检测

在开始Debian包制作前,首要任务是确保您的系统环境满足打包要求,避免因环境不兼容导致后续操作失败。

1.1 系统版本检查

执行以下命令查看系统版本信息,确保系统为Debian或其衍生版本(如Ubuntu):

lsb_release -a  # 查看系统发行版及版本号
# 示例输出:
# Distributor ID: Ubuntu
# Description:    Ubuntu 20.04.6 LTS
# Release:        20.04
# Codename:       focal

1.2 架构确认

Debian包需匹配目标架构,通过以下命令查看当前系统架构:

dpkg --print-architecture  # 查看系统架构
# 示例输出:amd64 或 arm64 等

🛠️ 知识点卡片:Debian打包对系统版本和架构有严格要求,不同架构(如amd64、arm64)的软件包不可混用,需提前确认目标环境。

二、方案设计:依赖解析与项目资源映射

2.1 依赖解析:打包工具与库文件准备

制作Debian包需要安装必要的工具,同时wiliwili运行依赖特定库文件,执行以下命令安装:

# 安装打包工具
sudo apt-get update && sudo apt-get install -y dpkg-dev dh-make build-essential

# 安装wiliwili运行依赖(参考control文件)
sudo apt-get install -y libass9 libdbus-1-3 libx11-6 libv4l-0 libpulse0 libuchardet0 libwebp6 libssl1.1

2.2 项目资源映射:关键文件定位

wiliwili项目中与Linux打包相关的核心文件如下:

  • 桌面文件:定义应用在桌面环境的显示与启动方式,位于项目目录下
  • 图标生成脚本:用于生成不同尺寸的应用图标,位于项目目录下
  • Debian控制文件:包含软件包基本信息、依赖关系等,位于项目目录下的scripts/deb/switchroot-bionic目录

🔍 知识点卡片:准确识别和定位项目中的打包相关文件,是后续打包流程顺利进行的基础。

三、分步实施:Debian包制作教程与实战操作

3.1 构建应用程序

首先编译wiliwili应用程序,步骤如下:

目标:生成可执行文件 命令

# 创建构建目录并进入
mkdir -p build && cd build

# 使用cmake生成Makefile,指定桌面平台和发布模式
cmake .. -DPLATFORM_DESKTOP=ON -DCMAKE_BUILD_TYPE=Release

# 多线程编译项目
make -j$(nproc)  # -j$(nproc)表示使用所有可用CPU核心加速编译

验证:编译完成后,在build目录下会生成wiliwili可执行文件,执行./wiliwili --version可查看版本信息。

3.2 准备打包文件

3.2.1 生成图标

目标:生成多种尺寸的应用图标 命令

# 进入图标生成脚本所在目录
cd scripts/linux

# 赋予脚本执行权限
chmod +x gen_icons.sh

# 运行脚本生成图标
./gen_icons.sh

验证:脚本执行后,在icons目录下会生成16x16、24x24、32x32等多种尺寸的图标文件,如icons/16x16/cn.xfangfang.wiliwili.png。

3.2.2 整理打包目录结构

目标:创建符合Debian包规范的目录结构 命令

# 创建打包根目录
mkdir -p wiliwili-deb

# 创建Debian包控制文件目录
mkdir -p wiliwili-deb/DEBIAN

# 创建应用安装目录结构
mkdir -p wiliwili-deb/usr/bin
mkdir -p wiliwili-deb/usr/share/applications
mkdir -p wiliwili-deb/usr/share/icons/hicolor

然后将编译好的可执行文件、桌面文件和图标复制到对应目录:

# 复制可执行文件
cp build/wiliwili wiliwili-deb/usr/bin/

# 复制桌面文件
cp scripts/linux/cn.xfangfang.wiliwili.desktop wiliwili-deb/usr/share/applications/

# 复制图标到对应尺寸目录(以16x16为例)
mkdir -p wiliwili-deb/usr/share/icons/hicolor/16x16/apps/
cp scripts/linux/icons/16x16/cn.xfangfang.wiliwili.png wiliwili-deb/usr/share/icons/hicolor/16x16/apps/
# 其他尺寸图标按相同方式复制

3.3 创建Debian控制文件

目标:编写Debian包控制文件 命令

# 创建并编辑control文件
nano wiliwili-deb/DEBIAN/control

在control文件中添加以下内容(根据实际情况修改版本、架构等信息):

Section: video
Priority: optional
Maintainer: xfangfang <xfangfang@126.com>
Version: 1.5.2-1
Homepage: https://xfangfang.github.io/wiliwili/
Package: wiliwili
Architecture: amd64  # 根据实际架构修改
Depends: libass9, libdbus-1-3, libx11-6, libv4l-0, libpulse0, libuchardet0, libwebp6, libssl1.1
Description: A third-party Bilibili client designed specifically for controller users

3.4 生成Debian软件包

目标:使用dpkg-deb工具(Debian包构建器)生成.deb文件 命令

# 构建Debian包
dpkg-deb --build wiliwili-deb

验证:当前目录下会生成wiliwili-deb.deb文件,即制作好的Debian包。

知识点卡片:Debian包的目录结构和控制文件是打包的核心,严格按照规范操作才能生成可正确安装的软件包。

wiliwili应用界面 图:wiliwili应用在Linux系统中的运行界面示例

四、验证优化:常见故障诊断与进阶技巧

4.1 常见故障诊断

故障1:依赖缺失导致安装失败

排查流程

  1. 执行sudo dpkg -i wiliwili-deb.deb安装时提示依赖错误
  2. 运行sudo apt-get -f install自动修复依赖关系
  3. 再次尝试安装软件包

故障2:图标不显示

排查流程

  1. 检查图标是否复制到正确目录(/usr/share/icons/hicolor/尺寸/apps/)
  2. 执行update-icon-caches /usr/share/icons/hicolor/更新图标缓存
  3. 注销并重新登录桌面环境

故障3:应用无法启动

排查流程

  1. 在终端执行wiliwili查看错误输出
  2. 根据错误信息检查依赖库是否缺失或版本不匹配
  3. 确认可执行文件权限是否正确(应为755)

4.2 进阶优化

官方文档与社区支持

  • 项目官方文档可参考项目内的README.md文件,包含更多高级打包配置和参数说明。
  • 社区支持:可通过项目的issue系统提交打包相关问题,获取开发者和其他用户的帮助。

优化建议

  • 版本控制:在control文件中规范版本号,便于后续更新和升级
  • 架构适配:为不同架构(如amd64、arm64)分别构建软件包
  • 依赖精简:根据目标系统实际情况,优化依赖列表,减少不必要的依赖

相关工具推荐

  • dpkg-deb:Debian包构建器,用于创建和管理Debian软件包
  • dh-make:帮助将源代码转换为Debian包格式的工具
  • lintian:检查Debian软件包是否符合Debian策略和最佳实践的工具
  • 开源打包工具:如fpm(Effing Package Management),可简化多种包格式的创建过程

通过本文的四阶段框架,您已掌握wiliwili的Debian打包全流程。从环境检测到故障诊断,每个环节都有明确的目标和操作指南,帮助您顺利制作出高质量的Debian软件包。

登录后查看全文
热门项目推荐
相关项目推荐