Skip to Content
IoT 应用开发IronFlock CLI概览

IronFlock CLI

ironflock 是机器上 IronFlock 软件的命令行工具。您可以用它将一台 Linux 机器作为设备连接到 IronFlock,将 IronFlockOS 写入 U 盘、SD 卡或磁盘,用 IronFlockOS 替换正在运行的机器上的 Linux,更新、回滚和重置 IronFlockOS 设备,以及安装和维护 IronFlock Appliance。

每个平台的 ironflock 都是一个静态二进制文件,不需要运行时,也不需要其他软件包。在 Linux 或 macOS 上,一行命令即可安装:

curl -fsSL https://instance-registry.ironflock.com/dl/cli/install.sh | sudo bash

脚本先用 IronFlock 发布密钥检查下载的文件,然后才安装 /usr/local/bin/ironflock。以后,sudo ironflock self-update 会将它更新到最新的发布版本。安装一页说明了每个步骤、如何先验证脚本以及如何更新。

命令按产品分组:ironflock agent 用于设备代理程序,ironflock appliance 用于 IronFlock Appliance,ironflock os 用于 IronFlockOS。同一个动词在每个命令组中含义相同。涉及整台机器的命令(例如 ironflock status)不属于任何命令组。ironflock --help 列出所有命令,ironflock <command> --help 介绍其中一个命令。

按任务查找命令

任务命令参考
将一台 Linux 机器作为某个设备配置文件(.flock)所对应的设备连接到 IronFlockironflock agent install设备代理程序命令
为已安装的代理程序换用另一个 .flock 文件或其他代理设置ironflock agent configure设备代理程序命令
让代理程序自行更新到其通道的发布版本ironflock agent update设备代理程序命令
移除代理程序,并撤销其安装所做的更改ironflock agent remove设备代理程序命令
重启设备代理程序ironflock agent restart设备代理程序命令
停止设备代理程序,直到再次启动它ironflock agent stop设备代理程序命令
启动设备代理程序ironflock agent start设备代理程序命令
查看设备代理程序的日志ironflock agent logs设备代理程序命令
查看机器上有哪些 IronFlock 组件以及它们是否在运行ironflock statusstatus 与 doctor
检查机器能否运行设备代理程序并访问 IronFlockironflock doctorstatus 与 doctor
列出可写入驱动器的 IronFlockOS 镜像ironflock os images将 IronFlockOS 写入驱动器
列出可写入镜像的驱动器ironflock os drives将 IronFlockOS 写入驱动器
将 IronFlockOS 和设备的 .flock 文件写入驱动器或镜像文件ironflock os flash将 IronFlockOS 写入驱动器
用 IronFlockOS 替换正在运行的机器上的 Linuxironflock os install用 IronFlockOS 替换 Linux
将 IronFlockOS 设备更新到其通道的发布版本ironflock os update更新、回滚与重置
回到另一个槽位中的 IronFlockOS 系统ironflock os rollback更新、回滚与重置
将 IronFlockOS 设备重置为刚写入时的状态ironflock os reset更新、回滚与重置
在这台机器上安装、配置、更新和维护 IronFlock Applianceironflock applianceAppliance 命令
显示 ironflock 的版本,以及是否有更新的发布版本ironflock version、ironflock version --check安装
用最新的发布版本替换 ironflockironflock self-update安装
用 Tab 键补全命令行ironflock completion安装
通过 SSH 在另一台机器或多台机器上运行命令--host、--hosts通过 SSH 管理远程机器

每个命令都接受全局标志,其中包括 --yes(回答命令的询问)和 --json(将结果写成一个 JSON 对象,供程序读取)。

# 用一行命令安装 ironflock,并将这台 Linux 机器作为 device.flock 所对应的设备连接 curl -fsSL https://instance-registry.ironflock.com/dl/cli/install.sh | sudo bash -s -- agent install -c device.flock # 检查这台机器能否运行设备代理程序,以及能否访问 device.flock 中的主机 ironflock doctor -c device.flock # 将 device.flock 所对应设备的 IronFlockOS 写入驱动器 /dev/sdb sudo ironflock os flash -c device.flock -d /dev/sdb # 显示用 IronFlockOS 替换这台机器上 Linux 的计划,不做任何更改 sudo ironflock os install -c device.flock --dry-run # 从笔记本电脑通过 SSH 显示设备的状态 ironflock --host pi@device-17 status

支持的系统

发布版本提供以下平台的 ironflock:Linux 上的 amd64、arm64 和 32 位 ARM(v5 至 v7),以及 macOS 上的 Apple 芯片和 Intel 处理器。

命令LinuxmacOS
version、completion支持支持
self-update支持;在 IronFlockOS 设备上为退出码 3,因为那里由 os update 更新 ironflock支持
status、doctor支持支持;status 显示系统,并显示未安装任何组件
os images、os drives、os flash支持支持
agent ...、os install支持退出码 3
os update、os rollback、os reset仅限 IronFlockOS 设备退出码 3

在某个系统上无法运行的命令依然存在:它会在检查任何内容之前就以退出码 3 结束。agent 命令需要基于 Debian 或 Ubuntu、带有 systemd 的 Linux。os install 需要带有 systemd、运行在 64 位 UEFI 固件(amd64 或 arm64)上的 Linux。appliance 命令的说明见 Appliance 命令。

在 IronFlockOS 设备上,镜像的系统中已自带设备代理程序。因此,agent install 和 agent remove 在那里会以退出码 3 拒绝执行,而 agent configure -c 用于为设备换用另一个 .flock 文件。

借助 --host,除 completion 之外的每个命令都可以通过 SSH 在另一台 Linux 机器上运行。在 Mac 上,您就是这样运行 agent 命令、os install 以及 IronFlockOS 设备的各项命令的。

0.15.0 之后的 IronFlockOS 发布版本在设备上自带 ironflock,路径为 /usr/bin/ironflock。IronFlockOS 0.15.0 及更早版本没有:请以设备的 SSH 用户身份(参见 SSH 访问),从另一台计算机用 --host 运行设备的命令:

ironflock --host operator@kitchen-pc os update --reboot --yes

注意:命令的消息和 JSON 字段中的 swarm 指 IronFlock Studio 和本文档所说的项目,“swarm owner”指项目所有者。例如,ironflock status --json 的字段 agent.swarm 给出设备所属的项目。

本节内容

  • 安装:安装命令、验证脚本、下载基址和 Appliance 的镜像站、Tab 补全、ironflock version 以及 ironflock self-update。
  • 标志、输出与退出码:适用于每个命令的规则,包括全局标志、stdout 与 JSON、询问、root、机密信息和退出码。
  • 通过 SSH 管理远程机器:--host 用于单台机器,--hosts 和 --parallel 用于多台机器。
  • 设备代理程序命令:安装、配置、更新、移除、重启、停止和启动设备代理程序,以及查看其日志。
  • status 与 doctor:机器上运行着哪些 IronFlock 组件,以及该机器能否运行设备代理程序。
  • 将 IronFlockOS 写入驱动器:列出镜像和驱动器,并将 IronFlockOS 连同设备的 .flock 文件一起写入。
  • 用 IronFlockOS 替换 Linux:将一台正在运行的 Linux 机器变成 IronFlockOS 设备。
  • 更新、回滚与重置:让 IronFlockOS 设备保持最新、退回上一个发布版本,或将其重置。
  • Appliance 命令:在机器上安装、配置、更新和维护 IronFlock Appliance。
Last updated on