首页
/ 如何在 Linux 上挑选并运行 jq 官方预编译二进制(AMD64/ARM64/i386)

如何在 Linux 上挑选并运行 jq 官方预编译二进制(AMD64/ARM64/i386)

2026-09-09 15:25:27作者:田桥桑Industrious

在 Linux 上不想走发行版包管理器、也不想自己从源码编译 jq 时,可以直接使用官方发布的预编译二进制。docs/content/download/default.yml 明确说明:jq 用 C 编写、没有运行时依赖,官方为 Linux、macOS、Windows 都提供了预编译二进制,Linux 从 jq 1.7 起同时提供 AMD64、ARM64、i386 三个架构的构建。下载对应架构的文件、赋予可执行权限后,用 jq --version 确认版本,即完成整个流程。

先确认目标架构,再选对应的发布产物

下载页文档列出的 Linux 预编译二进制命名规则是:

架构 产物名
AMD64(64 位 x86) jq-linux-amd64
ARM64 jq-linux-arm64
i386(32 位 x86) jq-linux-i386

当前文档给出的最新预编译版本是 jq 1.8.2,三个架构的下载地址(摘自 docs/content/download/default.yml 的 Linux 小节):

https://github.com/jqlang/jq/releases/download/jq-1.8.2/jq-linux-amd64
https://github.com/jqlang/jq/releases/download/jq-1.8.2/jq-linux-arm64
https://github.com/jqlang/jq/releases/download/jq-1.8.2/jq-linux-i386

文档同时给出了旧版本的同架构产物,命名规律一致,版本号不同:

  • jq 1.8.1、jq 1.8.0、jq 1.7.1、jq 1.7:jq-linux-amd64 / jq-linux-arm64 / jq-linux-i386
  • jq 1.6:只有 jq-linux64(AMD64)和 jq-linux32(i386),没有 ARM64
  • jq 1.5:同 jq 1.6,jq-linux64 / jq-linux32
  • jq 1.4、jq 1.3:jq-linux-x86_64 / jq-linux-x86

需要锁定旧版本时,把上面 1.8.2 链接中的版本号换成对应版本即可,文档中的各版本列表就是完整依据。

下载二进制并加上可执行权限

以 AMD64 为例,下载后得到一个名为 jq-linux-amd64 的文件:

wget -O jq https://github.com/jqlang/jq/releases/download/jq-1.8.2/jq-linux-amd64
chmod +x jq

下载页文档的原文提醒:这些二进制“应当可以直接运行”,但在 macOS 和 Linux 上可能需要先用 chmod +x jq 赋予可执行权限——这就是上面第二步的作用。把文件命名为 jq 方便后续直接调用;如果保留了 jq-linux-amd64 原名,后文命令中的 jq 相应换成实际文件名即可。

wget 只是下载手段;文档给出的核心事实是上面那条 release 产物 URL 和 chmod +x 要求,用浏览器下载或换用 curl 都不影响后续步骤。

运行并验证:--version 与一个简单查询

验证方式分两层,都来自项目文档:

第一,确认能运行且版本符合预期。手册 docs/content/manual/v1.8/manual.yml 对选项的定义:

  • --version / -V:输出版本号并以退出码 0 结束;
  • --build-configuration:输出构建配置并以退出码 0 结束(文档明确说明该输出没有受支持的格式,后续版本可能变化)。
jq --version

对 1.8.2 的二进制,应输出版本号 1.8.2。如果命令直接报权限错误,回到上一步确认已执行 chmod +x

第二,跑一个真实查询确认二进制功能正常。以提取 JSON 字段为例(示例输入):

echo '{"name":"jq","version":"1.8.2"}' | jq '.name'

能正常输出结果即说明该二进制在当前架构上可执行。

校验下载文件的完整性(可选但推荐)

文档说明:所有正式发布与预发布二进制都提供了 SHA-256 校验值,并可用 GnuPG 验证签名。仓库内 sig/v1.8.2/sha256sum.txt 就是 jq 1.8.2 的官方校验清单,其中与本文三个架构对应的行:

b1c22172dd303f3be49e935aa56aa48a8b7a46e0bc838b4997d3bb451495870f  jq-linux-amd64
8b85c817833814ddca00a144c33705546355afccf0cf39b188f3cdb48b852309  jq-linux-arm64
ba996e8ce436973e2f39e2639405a37e8c81ba8c722b71c83996278ad0af16dd  jq-linux-i386

下载后用 sha256sum 对照上表,数值一致说明文件与发布物一致。旧版本同理,对应清单在 sig/v1.8.1/sha256sum.txtsig/v1.8.0/sha256sum.txtsig/v1.7.1/sha256sum.txtsig/v1.7/sha256sum.txt 等路径下(仅 1.5 及以上版本提供 sha256 清单)。

签名验证方面,文档说明 jq 有两把发布密钥:sig/jq-release-old.key 用于 1.6 及更早版本,sig/jq-release-new.key 用于 1.7 及更新版本;各版本的 .asc 签名文件与二进制一一对应(如 sig/v1.8.2/jq-linux-amd64.asc),用 GnuPG 执行 gpg --verify <签名文件> 即可完成校验。

适用边界

  • 官方预编译路线只覆盖 jq 为 Linux 发布的上述架构;文档未列出其他 Linux 架构的独立“一键二进制”清单,遇到文档未列明的平台组合时不要猜测,应改走发行版包管理器或从源码构建。
  • jq 1.7 之前的 Linux 产物命名不同(jq-linux64/jq-linux32/jq-linux-x86_64/jq-linux-x86),且 1.6 及更早没有 ARM64 构建;需要 ARM64 时最低只能选 jq 1.7。
  • 如果系统包管理器(apt、dnf、zypper、pacman 等)已有 jq,那也是一条文档支持的正规路径,本文只针对“直接取官方预编译二进制”这一条路线。
登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
33
18
ops-transformerops-transformer
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
1.14 K
2.75 K
pytorchpytorch
作为 Ascend for PyTorch 社区的核心组件,TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件,使 PyTorch 框架能够直接调用昇腾 NPU,为开发者提供昇腾 AI 处理器的超强算力。
Python
860
1.35 K
docsdocs
暂无描述
Markdown
899
5.83 K
ops-nnops-nn
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
924
1.85 K
jiuwenswarmjiuwenswarm
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
3.84 K
1.02 K
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
533
599
cann-learning-hubcann-learning-hub
CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
Jupyter Notebook
1.03 K
525
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.37 K
1.46 K
AscendNPU-IRAscendNPU-IR
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
548
394