An ZFS administration tool inspired on Midnight commander

Related tags

Command-line Toolszc
Overview

ZC - ZFS Commander

An ZFS administration tool inspired on Midnight commander

Work in Progress

Description

ZFS Commander is a simple front-end for the most commonly used zpool & zfs commands. While the tool is a work-in-progress, several functions are already working. See the list of functions implemented in Usage section.

The tool is composed of 2 panes, each showing different ZFS related information. The tool will start with Datasets at left and Snapshots at the right pane. By pressing TAB, each window will cycle through the different modes: Pools, Datasets, Volumes and Snapshots.

ZFS Commander ZFS Commander

Installation

ZFS commander is build on Rust language, so make sure to have Rust installed on your machine. Instructions can be found here: https://www.rust-lang.org/tools/install

To compile and install ZFS comamnder, run the following commands:

$ sudo apt install build-essential ncurses-dev
$ make
$ sudo make install
$ make clean

To uninstall run:

$ sudo make uninstall

Usage

As the execution of some ZFS operations require higher privilege run ZFS commander with sudo or doas:

$ sudo zc

Operation

Use TAB key to switch between the modes available.

Use LEFT or RIGHT keys to navigate in between the two windows.

Function Keys per Mode

Key Pool Dataset Snapshot Volume
F1 Help Help Help Help
F2 - zfs promote zfs diff -
F3 - - zfs send -
F4 - - - -
F5 - zfs snapshot zfs clone zfs snapshot
F6 - zfs rename zfs rename zfs rename
F7 zpool scrub zfs create zfs rollback zfs create
F8 zpool destroy zfs destroy zfs destroy zfs destroy
F9 zpool get all zfs get all zfs get all zfs get all
F10 Exit Exit Exit Exit

NOTE: F9 Get All window enables individual properties to be directly edited.

Comments
  • New Feature: Explicit refresh

    New Feature: Explicit refresh

    The data can become stale while zc is running.

    For example, if a snapshot is created or destroyed, outside of zc, those changes will not appear in zc until something causes that list to be reloaded. An explicit command to refresh current data would be handy.

    opened by dodexahedron 0
  • New Feature: Allow setting user-defined properties

    New Feature: Allow setting user-defined properties

    ZFS supports user-defined properties, as long as they have a colon in the name.

    It would be handy if zc had a way to add/set/remove user properties on datasets.

    Documentation for reference: https://openzfs.github.io/openzfs-docs/man/8/zfsprops.8.html#User_Properties

    opened by dodexahedron 0
  • Suggestion: Tree view instead of tabbed panes

    Suggestion: Tree view instead of tabbed panes

    We can see pool, volume, dataset, and snapshot information in zc. However, there's a logical organization to those things that naturally fits a tree.

    For example, it was a little unintuitive, to me, that, if I have a specific dataset highlighted, all the snapshots across all datasets are listed.

    A tree organization, sorta like one might find in targetcli, seems like it would provide a much friendlier user experience.

    Then, perhaps, whatever object is selected in said tree would have its properties automatically displayed on the right pane.

    opened by dodexahedron 0
  • Non-settable properties should not allow the user to attempt to edit them

    Non-settable properties should not allow the user to attempt to edit them

    When in the dataset properties list, it is possible to attempt to edit non-settable properties, though of course attempts to do so will fail. If a property is not settable, the edit dialog should simply not come up.

    opened by dodexahedron 0
  • Suggestion: Command hints should indicate they are F-keys

    Suggestion: Command hints should indicate they are F-keys

    As title says. Yes, the documentation points it out, but it would be much clearer if the program showed F1, F2, etc, rather than just the numbers. I wondered if my system was missing a component or something until I went back to the documentation to see that they are, in fact, the F-keys. My first instinct was to try ctrl-1, alt-1, etc. F1 didn't occur to me right away.

    opened by dodexahedron 0
Releases(v1.1.0)
A web shell client written in python.

Webshell client A webshell client written in python. Only works well for linux for the time being. Why? Because there are too many heavy webshells. So

tchar 1 Dec 07, 2021
CLI based diff viewer

Rich Diff CLI based diff viewer

Suresh Kumar 24 Nov 15, 2022
Simple CLI for managing Postgres databases in Flask.

Overview Simple CLI that provides the following commands: flask psql create flask psql init flask psql drop flask psql setup: create → init flask psql

Daniel Reeves 21 Oct 03, 2022
Gamma ion pump QPC ethernet Python library & CLI utility

Unofficial Gamma ion pump ethernet control CLI utility and library This is a mini Python 3 library and utility that exposes some of the functions of t

2 Jul 18, 2022
AML Command Transfer. A lightweight tool to transfer any command line to Azure Machine Learning Services

AML Command Transfer (ACT) ACT is a lightweight tool to transfer any command from the local machine to AML or ITP, both of which are Azure Machine Lea

Microsoft 11 Aug 10, 2022
A python Ethereum utilities command-line tool.

peth-cli A python Ethereum utilities command-line tool. After wasting the all day trying to install seth and failed, I took another day to write this.

Moon 55 Nov 15, 2022
Simple subcommand CLIs with argparse

multicommand Simple subcommand CLIs with argparse. multicommand uses only the standard library and is ~150 lines of code (modulo comments and whitespa

Andrew Ross 10 Aug 01, 2022
Bad Apple printed out on the console with Python!

Bad Apple printed out on the console with Python!

CalvinLoke 186 Dec 01, 2022
CPOST is a CLI tool to assist with the proper sizing of Clara Deploy pipelines

CPOST (Clara Pipeline Operator Sizing Tool) Tool to measure resource usage of Clara Platform pipeline operators Cpost is a tool that will help you run

NVIDIA Corporation 5 Sep 27, 2021
A Hikari command handler for people who love ducks.

A Hikari command handler for people who love ducks.

Jeremiah 2 Oct 09, 2022
Albert launcher extension for converting units of length, mass, speed, temperature, time, current, luminosity, printing measurements, molecular substance, and more

unit-converter-albert-ext Extension for converting units of length, mass, speed, temperature, time, current, luminosity, printing measurements, molecu

Jonah Lawrence 2 Jan 13, 2022
Doing set operations on files considered as sets of lines

CLI tool that can be used to do set operations like union on files considering them as a set of lines. Notes It ignores all empty lines with whitespac

Partho 11 Sep 06, 2022
Package installer for python

This is a package that adds a JSON file to your project that records all of the packages used in it and allows people to install it with a single command.

Anmol Malik 1 May 23, 2022
Command line interface to watch your childhood shows in hindi and english, designed with python

Sweet dreams: Most of your childhood shows Command line interface to watch your

Not Your Surya 3 Feb 13, 2022
Pastekan adalah website paste kode / teks sederhana

Pastekan pastekan adalah website paste kode / teks sederhana. install pip install pastekan penggunaan pastekan myfile.txt atau echo "hi" | pastekan

Sekai Kode 1 Dec 24, 2021
Seamlessly run Python code in IPython from Vim

Seamlessly run Python code from Vim in IPython, including executing individual code cells similar to Jupyter notebooks and MATLAB. This plugin also supports other languages and REPLs such as Julia.

Hans Chen 269 Dec 20, 2022
tiptop is a command-line system monitoring tool in the spirit of top.

Command-line system monitoring. tiptop is a command-line system monitoring tool in the spirit of top. It displays various interesting system stats, gr

Nico Schlömer 1.3k Jan 08, 2023
A CLI tool for searching and watching videos on youtube with no spyware and MPV and yt-dlp

A CLI tool for searching and watching videos on youtube with no spyware and MPV and yt-dlp

TruncatedDinosour 3 Feb 22, 2022
Trans is a dependency-free CLI for Google Translate

Trans is a dependency-free CLI for Google Translate

11 Jan 04, 2022
Magnificent app which corrects your previous console command.

The Fuck The Fuck is a magnificent app, inspired by a @liamosaur tweet, that corrects errors in previous console commands. Is The Fuck too slow? Try t

Vladimir Iakovlev 75k Jan 02, 2023