银河麒麟桌面操作系统中用dpkg给开发好的程度打包

官网文章太专业,常人看不懂,于是各种搜索及AI助手帮忙,整理如下步骤并实践可用。

1. 准备软件和目录结构

3. 安装测试

# 安装
sudo dpkg -i myapp_1.0-1_amd64.deb

# 检查是否安装成功
dpkg -l | grep myapp
dpkg -L myapp

# 卸载
sudo dpkg -r myapp
# 完全移除(包括配置文件)
sudo dpkg -P myapp

创建安装/卸载脚本

DEBIAN/postinst​(安装后配置):

#!/bin/bash
# 安装后脚本
set -e

# 更新桌面数据库
if [ -x /usr/bin/update-desktop-database ]; then
    update-desktop-database -q /usr/share/applications
fi

# 更新图标缓存
if [ -x /usr/bin/gtk-update-icon-cache ]; then
    gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
fi

# 设置可执行权限
chmod 755 /usr/bin/myapp 2>/dev/null || true

exit 0

DEBIAN/prerm​(卸载前):

#!/bin/bash
# 卸载前脚本
set -e
exit 0

DEBIAN/postrm​(卸载后):

#!/bin/bash
# 卸载后清理脚本
set -e

# 再次更新桌面数据库和图标缓存
if [ "$1" = "purge" ]; then
    # 完全移除时的清理
    if [ -x /usr/bin/update-desktop-database ]; then
        update-desktop-database -q
    fi
    if [ -x /usr/bin/gtk-update-icon-cache ]; then
        gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
    fi
fi

exit 0

重要​:确保所有脚本有可执行权限:

chmod 755 DEBIAN/postinst DEBIAN/prerm DEBIAN/postrm

4. 打包为 .deb 文件

父目录中执行打包命令:

# 确保您在 myapp_1.0-1_amd64 目录的上级目录
dpkg-deb --build myapp_1.0-1_amd64

或者指定输出文件名:

dpkg-deb --build myapp_1.0-1_amd64 myapp_1.0-1_amd64.deb

5. 检查打包结果

# 查看包信息
dpkg -I myapp_1.0-1_amd64.deb

# 查看包内文件列表
dpkg -c myapp_1.0-1_amd64.deb

# 检查包是否有常见错误
lintian myapp_1.0-1_amd64.deb

  1. 创建打包工作目录

    首先,你需要创建一个标准的 Debian 打包目录结构。打开终端,执行以下命令:
     

    mkdir -p typing-1.0-package/DEBIAN
    mkdir -p typing-1.0-package/usr/bin
    mkdir -p typing-1.0-package/usr/share/applications
    mkdir -p typing-1.0-package/usr/share/icons/hicolor/scalable/apps
    mkdir -p typing-1.0-package/opt/typing-1.0

    目录说明:​

    • typing-1.0-package/: 这是你的打包根目录。

    • DEBIAN/: ​必需目录,用于存放控制文件(如 control, postinst等)。

    • usr/bin/: 通常用于存放可执行文件的符号链接。

    • usr/share/applications/: ​必需目录,用于存放 .desktop文件(开始菜单快捷方式)。

    • usr/share/icons/hicolor/.../: 用于存放应用程序图标(可选,但推荐)。

    • opt/typing-1.0/: 推荐的位置,用于存放你的应用程序的所有文件。

  2. 放置程序文件

    将 typing-1.0程序的所有文件(可执行文件、库、资源文件等)​拷贝typing-1.0-package/opt/typing-1.0/目录下。​

    cp /path/to/your/typing/program/files/* typing-1.0-package/opt/typing-1.0/

    确保主程序具有可执行权限:

    chmod +x typing-1.0-package/opt/typing-1.0/typing
    3. 创建开始菜单快捷方式 (.desktop 文件)
     

    在 typing-1.0-package/usr/share/applications/目录下创建一个文件,命名为 typing.desktop。

    nano typing-1.0-package/usr/share/applications/typing.desktop

    2. 创建 DEBIAN/control 文件

    这是最重要的文件,包含包的元数据:

    Package: myapp
    Version: 1.0-1
    Section: utils
    Priority: optional
    Architecture: amd64
    Depends: libc6 (>= 2.34)
    Maintainer: Your Name <your.email@example.com>
    Description: 我的应用程序
     这是一个在银河麒麟上运行的示例应用程序。
     这里可以写多行详细描述,但每行前面必须有一个空格。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值