Skip to Content
IoT アプリ開発IronFlock CLI概要

IronFlock CLI

ironflock は、マシン上の IronFlock ソフトウェアを扱うコマンドラインツールです。Linux マシンをデバイスとして IronFlock に接続する、IronFlockOS を USB スティック、SD カード、ディスクに書き込む、稼働中のマシンの Linux を IronFlockOS に置き換える、IronFlockOS デバイスを更新、ロールバック、リセットする、IronFlock アプライアンスをインストールして管理する、といった用途に使います。

ironflock は、プラットフォームごとに 1 つの静的バイナリです。ランタイムもほかのパッケージも必要ありません。Linux または macOS には、次の 1 行でインストールします:

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

スクリプトは、/usr/local/bin/ironflock をインストールする前に、ダウンロードしたファイルを IronFlock のリリース鍵で検証します。その後は、sudo ironflock self-update で最新のリリースに更新できます。各手順、スクリプトを事前に検証する方法、更新の方法は インストール で説明しています。

コマンドは製品ごとにグループに分かれています。デバイスエージェントは ironflock agent、IronFlock アプライアンスは ironflock appliance、IronFlockOS は ironflock os です。動詞はどのグループでも同じ意味です。ironflock status のように、マシン全体に関わるコマンドにはグループがありません。ironflock --help はコマンドの一覧を、ironflock <command> --help は個々のコマンドの説明を表示します。

作業別のコマンド

作業コマンドリファレンス
Linux マシンを、デバイス設定ファイル(.flock)のデバイスとして IronFlock に接続するironflock 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
マシンがデバイスエージェントを実行でき、IronFlock に到達できるかをチェックするironflock doctorstatus と doctor
ドライブに書き込める IronFlockOS イメージを一覧表示するironflock os imagesIronFlockOS をドライブに書き込む
イメージを書き込めるドライブを一覧表示するironflock os drivesIronFlockOS をドライブに書き込む
IronFlockOS とデバイスの .flock ファイルを、ドライブまたはイメージファイルに書き込むironflock os flashIronFlockOS をドライブに書き込む
稼働中のマシンの Linux を IronFlockOS に置き換えるironflock os installLinux を IronFlockOS に置き換える
IronFlockOS デバイスを、そのチャネルのリリースに更新するironflock os update更新、ロールバック、リセット
もう一方のスロットにある IronFlockOS システムに戻すironflock os rollback更新、ロールバック、リセット
IronFlockOS デバイスを、書き込んだばかりの状態にリセットするironflock os reset更新、ロールバック、リセット
このマシンに IronFlock アプライアンスをインストールし、設定、更新、管理するironflock applianceアプライアンスのコマンド
ironflock のバージョンと、新しいリリースが出ているかどうかを表示するironflock version、ironflock version --checkインストール
ironflock を最新のリリースに置き換えるironflock self-updateインストール
Tab キーでコマンドラインを補完するironflock completionインストール
SSH 経由で、別のマシンまたは多数のマシンでコマンドを実行する--host, --hostsSSH 経由のリモートマシン

すべてのコマンドは グローバルフラグ を受け付けます。その中には、コマンドの質問に答える --yes と、結果をプログラムが読める 1 つの JSON オブジェクトとして出力する --json があります。

# ironflock をインストールし、この Linux マシンを device.flock のデバイスとして接続する(1 行で) 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 # このマシンの Linux を IronFlockOS に置き換える計画を表示する(何も変更しない) sudo ironflock os install -c device.flock --dry-run # ラップトップから SSH 経由でデバイスの状態を表示する ironflock --host pi@device-17 status

対応システム

リリースでは、Linux 向けに amd64、arm64、32 ビット ARM(v5〜v7)の ironflock を、macOS 向けに Apple シリコンと Intel の ironflock を公開しています。

コマンド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 resetIronFlockOS デバイスのみ終了コード 3

あるシステムで動作しないコマンドも、コマンドとしては存在します。その場合は、何かを調べる前に終了コード 3 で終了します。agent コマンドには、systemd を備えた Debian または Ubuntu ベースの Linux が必要です。os install には、64 ビット UEFI ファームウェア(amd64 または arm64)上で systemd を備えた Linux が必要です。appliance コマンドについては アプライアンスのコマンド で説明しています。

IronFlockOS デバイスでは、イメージにシステムとともにデバイスエージェントが含まれています。そのため、そこでは agent install と agent remove は終了コード 3 で拒否され、デバイスに別の .flock ファイルを与えるには agent configure -c を使います。

--host を付けると、completion 以外のすべてのコマンドが、SSH 経由で別の Linux マシン上で実行されます。Mac からは、agent コマンド、os install、IronFlockOS デバイスのコマンドをこの方法で実行します。

0.15.0 より後の IronFlockOS リリースは、デバイス上に ironflock を /usr/bin/ironflock として備えています。IronFlockOS 0.15.0 以前には含まれていません。その場合は、デバイスのコマンドを別のコンピューターから --host で、デバイスの SSH ユーザー(SSHアクセス)として実行してください:

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

注意:コマンドのメッセージと JSON フィールドでは、IronFlock Studio とこのドキュメントで プロジェクト と呼ぶものを swarm、プロジェクトオーナーを「swarm owner」と表記します。たとえば、ironflock status --json のフィールド agent.swarm は、デバイスのプロジェクトを示します。

このセクションの内容

Last updated on