当前位置: 首页 > news >正文

在鸿蒙PC上使用pkgsrc进行包管理

1 前言

本文是《在OpenHarmony设备上使用pkgsrc进行包管理》的续作。

在前文中,我们手动完成了 pkgsrc 在鸿蒙环境上的安装与使用验证,并走通了从软件源在线安装软件包的基础流程。但当时还遗留了两个问题:

  • 没有支持鸿蒙 PC:鸿蒙 PC 上没有 root 权限,只能在应用沙箱中执行命令,前文的实验是在鸿蒙开发板和鸿蒙容器上完成的。
  • 没有 pkgin:前文只能通过pkg_add配合手动设置PKG_PATH来安装软件包,使用体验远不如 pkgin。

这段时间我把这两个问题都解决了,并搭建了一套完整的 CI/CD 流水线和分发体系,发布了 pkgsrc-ohos 项目。现在用户可以开箱即用地在鸿蒙上使用 pkgsrc,包括鸿蒙 PC。本文就来讲讲这些进展。

2 现在的使用体验

先看效果。以鸿蒙 PC 为例,只需三步:

# 第一步:下载并解压 bootstrap kitcurl-f-Ohttps://cdn.pkgsrc-ohos.com/bootstrap/bootstrap-2025Q4-arm64.zipunzip-uqbootstrap-2025Q4-arm64.zip-d/storage/Users/currentUserexportPATH=/storage/Users/currentUser/.pkg/bin:/storage/Users/currentUser/.pkg/sbin:$PATH# 第二步:更新包索引pkgin update# 第三步:安装软件包(以 xz 为例)pkgininstallxz

鸿蒙开发板和鸿蒙容器也类似,只是 bootstrap kit 的格式和安装方式略有不同,具体可参考项目文档。

跟前文相比,你不需要再手动准备工具链、下载源码树、打补丁、bootstrap、搭建软件源……全部都省了。下载一个压缩包,加一下 PATH,直接就能用 pkgin 装软件。

3 鸿蒙 PC 的适配思路

前文中我分析过,鸿蒙 PC 上有两大挑战:一是 uname 返回值不是 Linux,二是没有 root 权限。这次适配的核心思路就是绕过这两个问题,而不是正面硬碰。

3.1 uname 问题

由于鸿蒙 PC 的 uname 返回值不是 Linux,在鸿蒙 PC 上直接进行源码编译会触发各种平台识别问题。但我们完全可以不在鸿蒙 PC 上编译——在 OpenHarmony(开源鸿蒙)上把二进制包构建好,然后在鸿蒙 PC 上只做在线安装就行了。

OpenHarmony 用的就是 Linux 内核,uname 返回值是 Linux,编译过程不存在任何平台识别问题。而编译出来的二进制文件,只要安装路径对得上,在鸿蒙 PC 上就能正常使用。

这个思路本质上是把“构建”和“使用”解耦了:构建在 OpenHarmony 上做,使用在 HarmonyOS 上做。

3.2 root 权限与安装路径

鸿蒙 PC 上没有 root 权限,只能在应用沙箱中执行命令。应用沙箱中的用户家目录是/storage/Users/currentUser,因此我把 pkgsrc 的安装前缀设为/storage/Users/currentUser/.pkg

鸿蒙开发板和鸿蒙容器有 root 权限,只要创建出同名目录,就能使用同一套 bootstrap kit,三者统一。

3.3 代码签名

鸿蒙 PC 上未签名的二进制文件无法执行。因此在构建阶段需要启用代码签名,pkgsrc-ohos 通过在mk.conf中加入OHOS_CODE_SIGN+=yes来实现自动签名。这个配置只在构建时生效,对用户透明。

4 流水线与分发体系

要让用户开箱即用,光解决适配问题还不够,还需要一套自动化的构建和分发体系。不可能让用户自己去跑前文那一大堆手动操作。

4.1 项目组成

pkgsrc-ohos 项目由四个仓库组成:

仓库功能
ci-runnerDocker 容器镜像,提供 ohos-sdk 及编译工具链的完整构建环境
pkgsrcpkgsrc 2025Q4 的 fork,包含鸿蒙适配补丁(dl 库、ranlib、m4 等)
ciGitHub Actions 工作流与构建脚本
docs安装指南与贡献指南

其中 ci 仓库定义了两条流水线,是整个分发体系的核心:

  1. Bootstrap 流水线:在 arm64 容器中执行 pkgsrc bootstrap,预装 openssl、CA 证书、libfetch、pkgin,然后打包成 bootstrap kit 上传到云端。这个阶段只在工具链升级时才需要重新执行。
  2. Bulk-build 流水线:下载 bootstrap kit,遍历白名单中的软件包逐个编译,每编译完一个就上传到云端并更新包索引。支持增量构建——已存在的包会自动跳过。

所有制品存储在阿里云 OSS,通过 CDN 加速分发给用户。pkgin 的软件源地址在 bootstrap 阶段就被预配置好了,用户不需要手动设置PKG_PATH

4.2 为什么能跑在 GitHub Actions 上

有一个关键约束:目标平台是 arm64 架构的鸿蒙系统,所以构建环境必须是 arm64 的。GitHub Actions 在 2024 年开放了 arm64 runner(ubuntu-24.04-arm),这恰好满足了需求。整个构建过程在 arm64 架构的鸿蒙容器中完成,编译出来的二进制文件天然就是 arm64 架构的,无需交叉编译。

4.3 白名单机制

pkgsrc 源码树里面有超过两万个软件包,流水线只构建白名单中列出的软件包。白名单目前包含 pkgsrc 工具链自身的依赖以及一些常用基础库,后续可以逐步扩展。

如果想要新增软件包,需要先在 ci-runner 容器内做本地构建验证,确认能成功构建后,再把软件包及其级联依赖加入白名单。具体操作可以看项目文档中的贡献指南。

5 小结

从手动在鸿蒙开发板上跑通 pkgsrc bootstrap,到支持鸿蒙 PC 开箱即用,这条路的本质就是把“构建”和“使用”解耦——构建在 OpenHarmony 容器中通过流水线自动化完成,用户只需要下载 bootstrap kit,就能直接用 pkgin 装软件。

pkgsrc-ohos 目前仍然是 POC 项目,还有不少可以继续探索的方向。如果你感兴趣,欢迎基于 pkgsrc-ohos 进行二次开发或模仿其中思路实现自己的移植项目。项目中已经准备了完善的二次开发指南。

http://www.zskr.cn/news/1537068.html

相关文章:

  • 回收店不会说的秘密:合肥首饰保值、贬值的核心原因 - 奢侈品回收评测
  • 终极3DS游戏格式转换指南:3dsconv让你的游戏管理更高效
  • ARINC429数据收发老出错?可能是你的HI-3593 SPI配置没搞对(调试避坑实录)
  • 2026年深圳专利申请机构推荐全景榜:从产业分层视角看五家代表性服务方的选型逻辑 - 速递信息
  • 2026年北京黄金回收白名单:本地人亲测、无套路的六家正规回收门店测评 - 名奢变现站
  • 告别‘命令未找到’:在Ubuntu 20.04/22.04上快速搞定ARM交叉编译环境(含gcc-arm-linux-gnueabihf配置)
  • 3大实战突破:用GammaGammaFitter模型精准量化客户终身价值
  • 2026北京迷你仓公司排行榜 前5正规品牌盘点 - 速递信息
  • 避开这3个坑,你的ESP-01S和天问51单片机才能稳定连接巴法云
  • 2026年苏州驾校推荐榜:考驾照/学车/驾驶培训优质之选,专业教练与高效拿证服务深度解析 - 企业推荐官【官方】
  • LIN总线休眠唤醒测试避坑指南:从“主节点丢失”到“预休眠处理”的实战案例分析
  • 图形学期末求生指南:从八叉树到Gerstner波,手把手梳理电科软工核心考点与避坑心得
  • 2026 福州闲置包变现测评:回收 vs 寄卖哪个更赚 - 奢侈品回收评测
  • 湖州安吉上门疏通管道 2026 真实评测最新综合排行榜 - 居顺联家政疏通
  • 南京闲置香奈儿全套、单包出手干货,配件丢失对应的折价规则完整汇总 - 奢侈品回收评测
  • 终极指南:如何用Typora LaTeX主题快速完成专业学术论文排版
  • 避坑指南:STM32读写AT24C64 EEPROM常遇到的三个问题(时序、WP引脚、0xFF数据)
  • 2026昆明奢侈品回收实力横评:多维度实测,头部品牌断层领跑 - 奢侈品回收评测
  • 思明湖里集美全覆盖,2026 厦门黄金回收本地头部商家排行榜 - 奢侈品回收评测
  • Java毕设项目:基于Java的大学生房屋i租赁系统的设计与实现(源码+文档,讲解、调试运行,定制等)
  • 别办健身卡了!2 平米 + 1 张垫,在家练出易瘦体质
  • 上海回收百达翡丽靠谱门店排名:5家机构评比结果新鲜出炉 - 奢侈品回收评测
  • 广东洗碗凝珠生产厂家排行:5家合规品牌实测对比 - 奔跑123
  • 如何用AI视频分析神器5分钟内快速提取视频核心内容
  • 鲁航教育集团官方介绍|山东头部综合性教育集团|鲁航教育集团官方对接指南 - 互联网科技品牌测评
  • GD25Q64ESIGR,低功耗架构 + 软硬件双重写保护的工业级闪存
  • 2026厦门迪奥包包回收实测!七大正规机构梯度排名避坑干货指南 - 薛定谔的梨花猫
  • 威海开发区疏通下水管道 2026 真实评测最新综合排行榜 - 居顺联家政疏通
  • Claude 3.5 Sonnet 实战指南:注册、落地与高价值工作流
  • 2026年 磁场线圈厂家推荐榜单:加速器/加速管/磁控管磁场线圈,高精度定制与稳定磁场实力之选 - 品牌发掘