概要
- Shuru は、macOS上で軽量なLinuxサンドボックスを即時起動可能なCLIツール
- Apple Siliconで約1秒の高速起動、すべての実行はデフォルトで エフェメラル
- チェックポイント機能 で環境の保存・復元が可能、状態の分岐や再利用も容易
- ネットワークアクセスは 明示的な許可 が必要、安全性を重視
- Rust製の 単一バイナリ、依存関係なし、AIエージェントのコード実行等に最適
Shuru:シンプルなCLIによるサンドボックス操作
- shuru run -- コマンドで、Linux VMを即時実行し、終了後は環境が破棄される
- 例:
shuru run -- echo "hello from the sandbox"結果:hello from the sandbox
- 例:
- VM内で Alpine Linux が利用され、
cat /etc/os-release | head -1で確認可能 - デフォルトでは 永続化なし、毎回クリーンな環境が提供される
- ネットワークアクセスはデフォルトで 禁止
- 明示的な許可が必要:
shuru run --allow-net -- apk add python3
- 明示的な許可が必要:
- CPU数、メモリ、ディスクサイズ はオプションで指定可能
- 例:
shuru run --cpus 4 --memory 4096 -- free -m | head -2 - 例:
shuru run --disk-size 2048 -- df -h /
- 例:
- チェックポイント機能 で、環境の状態を保存し再利用可能
- 例:
shuru checkpoint create myenv --allow-net -- sh -c 'apk add nodejs npm' - 保存後は
shuru run --from myenv -- node -e 'console.log("ready")'で即復元・実行
- 例:
- チェックポイントは 分岐・再利用 が可能、複数の開発環境構築に最適
- ポートフォワーディング 機能で、ゲストVM内のサーバーをローカルに公開
- 例:
shuru run --from py -p 8080:8000 -- python3 -m http.server 8000 curl http://127.0.0.1:8080/でアクセス可能
- 例:
- vsockトンネリング により、ネットワーク許可不要で安全な通信実現
Shuruの特徴と用途
- Apple Virtualization.framework を活用し、macOS上で高速なLinux環境を提供
- Apple Silicon で約1秒の起動速度、開発・テスト・検証用途に最適
- AIエージェントのコード実行 など、使い捨てLinux環境が求められる場面に適合
- Rust製単一バイナリ で、インストールや依存関係が不要
- セキュリティ重視 の設計、ネットワークや永続化の明示的制御が可能
- 柔軟な環境構築・保存・再利用 による効率的な開発ワークフロー実現