| Crates.io | rvirsh |
| lib.rs | rvirsh |
| version | 0.1.4 |
| created_at | 2024-10-23 09:19:59.681847+00 |
| updated_at | 2024-12-05 11:26:15.774753+00 |
| description | rvirsh is a Rust-based virtual machine management tool built using the libvirt-rs library. It reimplements the functionality of the virsh command, providing simple and efficient virtualization operations in Rust. |
| homepage | |
| repository | https://github.com/YsuOS/rvirsh |
| max_upload_size | |
| id | 1419870 |
| size | 124,209 |
rvirsh is a Rust-based virtual machine management tool built using the libvirt-rs library. It reimplements the functionality of the virsh command and virt-install command, providing simple and efficient virtualization operations in Rust.
To avoid using complex arguments, rvirsh reads default configuration from $HOME/.config/rvirsh/default.toml or ./default.toml (if it does not exists).
Ensure that Rust is installed on your system. If not, install it from the official Rust website.
Ensure that libvirt-dev or libvirt-devel is installed on your system. Otherwise, compile will be fail. If not, install it with the following command (in Fedora/RHEL).
dnf install libvirt-devel
Install from crates.io:
cargo install rvirsh
Clone the rvirsh repository:
git clone https://github.com/your-username/rvirsh.git
Navigate to the project directory and build it using Cargo:
cd rvirsh
cargo build --release
Install the binary:
cargo install --path .
rvirsh provides commands similar to those found in virsh. Below are some basic examples. Please run rv help to see which commands are supported.
rv list
rv start <vm-name>
rv shutdown <vm-name>
rv dominfo <vm-name>
rv dumpxml <vm-name>
rvirsh also offers some functions as a library. So it can be embedded into your project as a crate. Please visit crates.io for more info.
rvirsh = "x.y.z"
To set up the development environment, follow these steps:
Clone the repository:
git clone https://github.com/your-username/rvirsh.git
Install the necessary dependencies:
cargo build
Run tests:
cargo test
Please report any bugs or feature requests via the GitHub issue tracker. Pull requests are welcome!