You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从多架构deb生成.changes文件上传至Ubuntu PPA?

生成Debian .changes文件并上传PPA的解决办法

.changes文件是Debian/Ubuntu打包体系的核心元数据文件,PPA上传必须依赖它,以下是具体生成方法和工具:

工具选择与安装

优先使用Debian官方提供的工具链,先安装依赖包:

sudo apt install dpkg-dev devscripts gnupg

从现有deb包生成.changes文件(快速方法)

  1. 提取deb包的控制信息
    把目标deb包放到一个空目录,提取它的control文件(包含包名、版本、依赖等关键信息):

    mkdir -p debian
    dpkg-deb -I your-package_1.0.0_amd64.deb control > debian/control
    

    注意替换命令里的包名、版本、架构为你实际的内容。

  2. 生成.changes文件
    在包含debian子目录的父目录运行命令,生成二进制包对应的.changes文件:

    dpkg-genchanges -b > your-package_1.0.0_amd64.changes
    

    -b参数指定生成二进制包的变更记录,适配你已有的deb包场景。

  3. 签名.changes文件
    PPA要求.changes文件必须用你在Launchpad注册的GPG密钥签名,运行:

    debsign your-package_1.0.0_amd64.changes
    

    确保你的GPG密钥已上传到Launchpad,且本地密钥环有对应私钥。

多架构包处理

针对不同架构(如amd64、arm64)的deb包,重复上述步骤为每个架构单独生成并签名.changes文件,再分别上传:

dput ppa:p3x-onenote/ppa your-package_1.0.0_amd64.changes
dput ppa:p3x-onenote/ppa your-package_1.0.0_arm64.changes

替代工具:debuild(自动化打包流程)

如果你的项目有符合规范的debian目录(electron-builder可配置生成基础结构),在项目根目录运行:

debuild -b -kYOUR_GPG_KEY_ID

该命令会自动完成deb包构建、.changes文件生成和签名的全流程。

内容的提问来源于stack exchange,提问作者Patrik Laszlo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 14:35:14