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 status | status と doctor |
| マシンがデバイスエージェントを実行でき、IronFlock に到達できるかをチェックする | ironflock doctor | status と doctor |
| ドライブに書き込める IronFlockOS イメージを一覧表示する | ironflock os images | IronFlockOS をドライブに書き込む |
| イメージを書き込めるドライブを一覧表示する | ironflock os drives | IronFlockOS をドライブに書き込む |
IronFlockOS とデバイスの .flock ファイルを、ドライブまたはイメージファイルに書き込む | ironflock os flash | IronFlockOS をドライブに書き込む |
| 稼働中のマシンの Linux を IronFlockOS に置き換える | ironflock os install | Linux を 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, --hosts | SSH 経由のリモートマシン |
すべてのコマンドは グローバルフラグ を受け付けます。その中には、コマンドの質問に答える --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 を公開しています。
| コマンド | Linux | macOS |
|---|---|---|
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 コマンドには、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は、デバイスのプロジェクトを示します。
このセクションの内容
- インストール:インストール用の 1 行、スクリプトの検証、ダウンロードベースとアプライアンスのミラー、タブ補完、
ironflock version、ironflock self-update。 - フラグ、出力、終了コード:すべてのコマンドに共通する、グローバルフラグ、stdout と JSON、質問、root、シークレット、終了コード。
- SSH 経由のリモートマシン:1 台のマシンには
--host、多数のマシンには--hostsと--parallel。 - デバイスエージェントのコマンド:デバイスエージェントのインストール、設定、更新、削除、再起動、停止、開始と、ログの読み取り。
- status と doctor:マシン上で動作している IronFlock の構成要素と、マシンがデバイスエージェントを実行できるかどうか。
- IronFlockOS をドライブに書き込む:イメージとドライブの一覧表示と、デバイスの
.flockファイルを含めた IronFlockOS の書き込み。 - Linux を IronFlockOS に置き換える:稼働中の Linux マシンを IronFlockOS デバイスに変える。
- 更新、ロールバック、リセット:IronFlockOS デバイスを最新に保つ、1 つ前のリリースに戻す、リセットする。
- アプライアンスのコマンド:マシンに IronFlock アプライアンスをインストールし、設定、更新、管理する。