news 2026/1/10 5:04:38

【鸿蒙PC命令行适配】基于OHOS SDK直接构建xz命令集(xz、xzgrep、xzdiff),完善tar.xz解压能力

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【鸿蒙PC命令行适配】基于OHOS SDK直接构建xz命令集(xz、xzgrep、xzdiff),完善tar.xz解压能力

1. 背景

近日,我在访问rust-lang.org时注意到,现已推出了适用于OpenHarmony(OHOS)平台的Rust版本。出于兴趣与探索目的,我决定下载并尝试使用这一版本。

在成功获取到rust-beta-aarch64-unknown-linux-ohos.tar.xz文件后,却发现无法直接通过鸿蒙操作系统上的tar xJf命令来解压缩该文件,提示系统中缺失xz工具。为了解决问题并增强鸿蒙PC环境下对.tar.xz格式文件的支持能力,我着手进行了xz命令及相关组件向该平台的移植工作。本文旨在分享此次移植过程中的具体步骤与经验总结,希望能够为其他开发者提供参考和帮助。

2. 编译环境准备

2.1 下载OHOS SDK

要编译鸿蒙pc版本的xz命令,需要先获取OHOS SDK,可以到https://ci.openharmony.cn/workbench/cicd/dailybuild/dailylist 页下载。

2.2 配置OHOS SDK

下载sdk之后,解压得到ohos-sdk,然后再解压ohos-sdk/linux/native和ohos-sdk/linux/toolchains。

之后配置环境变量

exportOHOS_SDK=~/ohos-sdk/linuxexportPATH=${OHOS_SDK}/native/llvm/bin:${OHOS_SDK}/native/build-tools/cmake/bin:$PATH

3. 编译xz命令集

3.1 下载xz源码

xz源码的原始仓库维护在github上,我已经mirror到AtomGit平台,地址是https://atomgit.com/oh-tpc/xz 。

将其下载到本地:

gitclone https://atomgit.com/oh-tpc/xz.git -b v5.8

3.2 生成Makefile

xz支持2种编译框架:automake+configure+makecmake+make。这里,我们以cmake为例,进行编译。

先生成Makefile,命令如下:

mkdirbuildcdbuild cmake..

3.3 make编译

cmake成功之后,会生成Makefile,执行make命令即可触发编译。

如下图所示,编译成功后得鸿蒙PC(aarch64)架构的xz命令。

4. 测试运行

4.1 binary-sign-tool自签名

将xz工具集拷贝到鸿蒙PC之后,需要先对其进行自签名,否则无权限运行。命令如下:

binary-sign-tool sign -inFile xz -outFile xz -selfSign "1"

如上图所示,自签名之后,xz命令就可以正常执行了。

4.2 测试解压tar.xz文件

接下来,需要将xz命令所在目录添加到PATH环境,以便于让tar命令能找到并调用它来进行xz格式的解压缩。命令如下所示:

export PATH=~/bin:$PATH

如上图所示,tar xJf命令成功解压了tar.xz格式的压缩包,测试运行成功。

5. 总结

本次向OpenHarmony PC平台移植xz命令的实践,核心解决了该平台缺失.tar.xz格式解压能力的痛点。整个过程的核心难点在于适配鸿蒙专属的编译环境与权限管理机制——通过精准配置OHOS SDK环境变量、选用适配性更强的cmake编译框架,有效规避了跨平台编译中的工具链兼容问题;而binary-sign-tool自签名步骤的实施,则精准破解了鸿蒙系统对第三方二进制文件的权限限制,这也是鸿蒙平台移植工具类软件需重点关注的核心要点。

此次实践也让我们看到,鸿蒙生态的完善需要开发者通过实际需求驱动的技术探索不断补全短板,而这类常用命令行工具的移植实践,正是构建更具包容性的鸿蒙生态的重要基石。

最后,欢迎加入开源鸿蒙PC社区:https://harmonypc.csdn.net/ 一起参与鸿蒙PC的生态建设。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/7 12:01:49

wangEditor pdf导入支持文本高亮和标记

信创兼容型富文本编辑器集成方案 一、需求分析 核心功能需求 Word粘贴/导入:保留格式、表格、公式、图片自动上传微信公众号内容抓取:自动下载图片并上传至华为云OBS多格式导入:Word/Excel/PPT/PDF全格式支持信创兼容:全平台操作…

作者头像 李华
网站建设 2026/1/9 3:20:45

MCP部署失败率高达70%?揭秘生产环境落地的8大避坑要点

第一章:MCP部署失败率高达70%的根源剖析在当前大规模容器化平台(MCP)的落地实践中,高达70%的部署失败案例暴露出系统性缺陷。这些失败并非单一因素导致,而是由配置管理、环境异构性与自动化流程断裂共同引发的复合问题…

作者头像 李华
网站建设 2026/1/7 11:59:07

拿下MCP认证的关键:实验题得分技巧大公开,速看!

第一章:MCP认证实验题得分核心认知在准备微软认证专家(MCP)考试时,实验题是决定是否通过的关键环节。这类题目模拟真实环境中的系统配置与故障排查任务,要求考生不仅掌握理论知识,还需具备动手操作能力。评…

作者头像 李华
网站建设 2026/1/10 2:31:01

Hunyuan-MT-7B-WEBUI Docker镜像大小是多少?约15GB

Hunyuan-MT-7B-WEBUI Docker镜像大小优化与部署实践 在当今多语言内容爆炸式增长的背景下,企业、科研机构乃至教育场景对高质量机器翻译的需求从未如此迫切。然而,现实却常常令人沮丧:一个号称“强大”的开源翻译模型,下载回来后…

作者头像 李华
网站建设 2026/1/7 11:58:17

Hunyuan-MT-7B-WEBUI段落级连贯性增强策略

Hunyuan-MT-7B-WEBUI:让高质量机器翻译真正“可用” 在跨语言内容爆炸式增长的今天,从国际新闻到跨境电商,从学术论文到政府公文,精准、流畅的翻译能力已成为信息流通的关键基础设施。尽管大模型推动下的神经机器翻译(…

作者头像 李华
网站建设 2026/1/10 1:00:40

零基础学会CURL POST:从入门到实战

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 请创建一个面向初学者的CURL POST教程,包含以下内容:1) CURL的基本概念解释 2) POST请求与GET请求的区别 3) 最简单的CURL POST示例 4) 逐步添加参数的教程…

作者头像 李华