1 个不稳定版本
0.1.0 | 2024年6月3日 |
---|
#16 in #程序
46KB
1K SLoC
立方体
立方体是一个轻量级的虚拟机命令行管理器。
快速入门
创建和运行虚拟机
$ cubic run --name quickstart --image ubuntu:jammy:amd64
Welcome to Ubuntu 22.04.4 LTS (GNU/Linux 5.15.0-107-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/pro
System information as of Sun Jun 2 19:30:36 UTC 2024
System load: 0.75
Usage of /: 72.3% of 1.96GB
Memory usage: 22%
Swap usage: 0%
Processes: 93
Users logged in: 0
IPv4 address for ens3: 10.0.2.15
IPv6 address for ens3: fec0::5054:ff:fe12:3456
Expanded Security Maintenance for Applications is not enabled.
0 updates can be applied immediately.
Enable ESM Apps to receive additional future security updates.
See https://ubuntu.com/esm or run: sudo pro status
The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.
cubic@quickstart:~$
立方体用法
创建虚拟机
$ cubic add --name example --image ubuntu:jammy:amd64 --cpus 4 --mem 4G --disk 5G
列出所有虚拟机
$ cubic list
Name CPUs Memory Disk State
quickstart 1 1.0 GiB 1.0 GiB RUNNING
example 4 4.0 GiB 5.0 GiB STOPPED
启动虚拟机
$ cubic start example
使用 SSH 连接到虚拟机
$ cubic ssh example
使用 SSH 将文件复制到虚拟机
$ touch test
$ cubic scp test example:~/
重启虚拟机
$ cubic restart example
停止虚拟机
$ cubic stop example
显示虚拟机配置
$ cubic config example
cpus: 4
mem: 4.0 GiB
disk: 2.2 GiB
更改虚拟机配置
$ cubic config --cpus 5 --mem 5G --disk 5G example
cpus: 5
mem: 5.0 GiB
disk: 5.0 GiB
克隆虚拟机
$ cubic clone example example2
重命名虚拟机
$ cubic rename example2 example_new
删除虚拟机
$ cubic delete example_new
列出所有镜像
$ cubic list images
ID ARCH SIZE
ubuntu:jammy amd64 2.2 GiB
从源代码构建立方体
使用 Cargo 包管理器构建 Rust 项目
$ cargo build
安装二进制文件
$ cargo install --path .
$ export PATH="$PATH:$HOME/.cargo/bin"
为立方体做出贡献
请确保任何贡献的代码格式正确,经过 lint 检查和测试。
格式化源代码
$ cargo fmt
代码 lint 检查
$ cargo clippy
运行测试
$ cargo test
依赖关系
~5–7.5MB
~138K SLoC