Skip to main content

概述

Deb 应用是直接运行在 TOS 7 宿主系统上的原生包。遵循标准 Debian 打包规范,并针对 TOS 服务管理和平台集成进行了适配。

TOS 7 的 Deb 应用根据是否有前端页面以及打开方式,分为 三种子类型

子类型适用场景打开方式后端通信方式
WebUI 内部打开后端为本地可执行服务、前端为静态 WebUITOS 桌面内嵌 iframeUnix Socket + 平台代理
WebUI 外部打开后端为本地可执行服务、前端为静态 WebUI浏览器新标签页Nginx 反向代理 + HTTP 端口
无 UI 服务没有操作页面的后台服务无前端页面按需(无强制要求)

子类型选择强制约束:

应用特性必须使用的子类型
有 Web UI 且必须在 TOS 桌面内打开WebUI 内部打开(iframe)
有 Web UI 且必须在浏览器标签页打开WebUI 外部打开(新标签页)
无前端/后台守护服务无 UI 服务
需要通过 TOS 文件管理器访问设备文件系统WebUI 内部或外部打开 — 如果应用需要用户在 TOS 文件管理器中选择文件路径,必须提供 WebUI(内部或外部打开均可),以便嵌入文件选择器组件。

TOS 7 的 Deb 应用支持 两种打包方式

打包方式适用场景说明
方式一:单包模式从零开发的新应用开发者按照 TOS 7.0 规范直接开发,将所有文件集成到单个 deb 包中
方式二:双包模式(也称压缩包模式)已有通用标准 deb 包的应用原应用安装包(deb源包)保持不变,额外提供一个符合 TOS 7.0 规范的数据包(<appid>.deb),两者打包为 tar.gz 压缩包提交

双包模式适用规则:

场景必须使用禁止使用
已有通用标准 deb 包、构建复杂双包模式
从零开发的新应用不建议使用双包模式 — 除非有特殊理由(如需要分离配置与二进制),否则从零开发的新应用应使用单包模式。
简单二进制程序、无已有的打包双包模式(应使用单包模式)
第三方上游 Debian 包双包模式

双包模式强制约束:

  • 版本一致性: 数据包与源包的 Version 字段必须完全一致,不一致直接驳回。
  • 内容限制: 数据包(<appid>.deb严禁包含任何二进制文件,否则直接驳回。
  • 安装顺序: 由 APT 仓库依赖机制自动保证(数据包 Depends 源包),无需额外配置。
  • 源包独立性: deb源包必须可以独立在 TOS 7.0 系统上使用 dpkg -i 命令进行安装。
  • 依赖声明: deb数据包的元数据 Depends 字段,必须要写上 deb源包,最好和版本一起指定,保持健康的依赖关系。