跳到主要内容

构建deb安装包

提示

将 AppImage 打包成 .deb 格式可以让应用更容易通过包管理器安装和管理,以CherryStudio为例。以下是详细步骤:

步骤

1. 准备工作

  1. 安装工具: 确保安装了 dpkgsquashfs-tools

    sudo apt update
    sudo apt install dpkg squashfs-tools
  2. 创建目录结构

    cherrystudio       
    ├─ DEBIAN
    │ └─ control
    ├─ opt
    │ └─ CherryStudio
    └─ usr
    └─ share
    ├─ applications
    │ └─ CherryStudio.desktop
    └─ icons
    └─ hicolor
    └─ 256x256
    └─ apps
    └─ cherrystudio.png
    mkdir -p cherrystudio/DEBIAN
    mkdir -p cherrystudio/opt/CherryStudio
    mkdir -p cherrystudio/usr/share/applications
    mkdir -p cherrystudio/usr/share/icons/hicolor/256x256/apps

2. 解压 AppImage

  1. 解压 AppImage: 使用以下命令解压 CherryStudio.AppImage

    ./CherryStudio.AppImage --appimage-extract

    解压后,会生成一个 squashfs-root 目录,里面包含应用程序的所有文件。

    如果解压时报错

    /home/kylin/桌面/编程相关/cherrystudio/opt/Cherry-Studio-1.1.10-arm64.AppImage: error while loading shared libraries: libz.so: cannot open shared object file: No such file or directory

    首先执行sudo apt update&&sudo apt install zlib1g,确保已经安装zlib1g。

    然后检查libz.so.1的实际路径

    find /usr -name libz.so* 2>/dev/null

    如果 libz.so.1 存在但缺少 libz.so 的软链接

    kylin@kylin-pc:~/桌面/编程相关$ find /usr -name libz.so* 2>/dev/null
    /usr/lib/aarch64-linux-gnu/libz.so.1.2.11
    /usr/lib/aarch64-linux-gnu/libz.so.1

    手动创建:

    # 示例路径(根据实际输出调整):
    sudo ln -s /usr/lib/$(uname -m)-linux-gnu/libz.so.1 /usr/lib/libz.so
  2. 复制文件: 将 squashfs-root 中的内容复制到 cherrystudio/opt/CherryStudio/ 目录:

    cp -r squashfs-root/* cherrystudio/opt/CherryStudio/

3. 添加桌面文件和图标

  1. 创建桌面文件: 在 cherrystudio/usr/share/applications/ 中创建 CherryStudio.desktop 文件:

    nano cherrystudio/usr/share/applications/CherryStudio.desktop

    填写以下内容:

    [Desktop Entry]
    Name=Cherry Studio
    Exec=/opt/CherryStudio/CherryStudio.AppImage
    Icon=cherrystudio
    Type=Application
    Categories=Development;
  2. 复制图标: 将 AppImage 中的图标文件(如 cherrystudio.png)复制到图标目录:

    cp path/to/cherrystudio.png cherrystudio/usr/share/icons/hicolor/256x256/apps/

4. 创建 DEBIAN/control 文件

  1. 编写 control 文件: 在 cherrystudio/DEBIAN/ 中创建 control 文件:
    nano cherrystudio/DEBIAN/control
    填写以下内容:
    Package: cherrystudio
    Version: 0.9.24
    Section: utils
    Priority: optional
    Architecture: arm64
    Maintainer: Your Name <[email protected]>
    Description: Cherry Studio is an awesome application for developers.
    Cherry Studio provides a complete development environment.

5. 打包成 DEB 文件

  1. 打包: 回到 cherrystudio 目录的上一级,运行以下命令:

    sudo dpkg -b cherrystudio Cherry-Studio-0.9.24-arm64.deb
  2. 验证 DEB 包: 使用以下命令查看 DEB 包的内容:

    dpkg -c Cherry-Studio-0.9.24-arm64.deb

6. 安装和测试

  1. 安装 DEB 包

    sudo dpkg -i Cherry-Studio-0.9.24-arm64.deb
  2. 测试应用: 运行以下命令启动应用:

    /opt/CherryStudio/CherryStudio.AppImage

    或者在桌面环境中搜索 Cherry Studio 启动。


注意事项

  • 依赖问题:如果安装时提示依赖缺失,运行以下命令修复:
    sudo apt-get install -f
  • 清理临时文件:打包完成后,可以删除 squashfs-root 目录以释放空间。

通过以上步骤,你可以将 CherryStudio.AppImage 解压并打包成 DEB 安装包,并按照指定的目录结构安装和运行。