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 super simple terminal command shortener 🐟

pcmd A super simple terminal command shortener 🐟 Source code : https://github.com/j0fiN/pcmd Documentation : https://j0fin.github.io/pcmd About Durin

9 Mar 02, 2022
Python CLI vm manager for remote access of docker images via noVNC

vmman is a tool to quickly boot and view docker-based VMs running on a linux server through noVNC without ssh tunneling on another network.

UCSD Engineers for Exploration 1 Nov 29, 2021
Tncli - TON smart contract command line interface

Tncli TON smart contract command line interface State Not working, in active dev

Disintar IO 100 Dec 18, 2022
ForX - get forex quotes from the terminal

A command line tool for checking exchange rates between currencies, both crypto and fiat.

Gabe Banks 52 Dec 10, 2022
Amazon Scraper: A command-line tool for scraping Amazon product data

Amazon Product Scraper: 2021 Description A command-line tool for scraping Amazon product data to CSV or JSON format(s). Requirements Python 3 pip3 Ins

49 Nov 15, 2021
Baseline is a cross-platform library and command-line utility that creates file-oriented baselines of your systems.

Baselining, on steroids! Baseline is a cross-platform library and command-line utility that creates file-oriented baselines of your systems. The proje

Nelson 4 Dec 09, 2022
Ideas on how to quickly learn to build command-line tools

CLI-Bootcamp Ideas on how to quickly learn to build command-line tools Part 1-Bash Week1: Using Linux Lesson 1: Using Linux Shell Lab Lesson 2: How sh

Noah Gift 10 Apr 18, 2022
A command-line utility that creates projects from cookiecutters (project templates), e.g. Python package projects, VueJS projects.

Cookiecutter A command-line utility that creates projects from cookiecutters (project templates), e.g. creating a Python package project from a Python

18.6k Dec 30, 2022
adds flavor of interactive filtering to the traditional pipe concept of UNIX shell

percol __ ____ ___ ______________ / / / __ \/ _ \/ ___/ ___/ __ \/ / / /_/ / __/ / / /__/ /_/ / / / .__

Masafumi Oyamada 3.2k Jan 07, 2023
CLI para o projeto Compilado (Newsletter e Podcast do Código Fonte TV)

Compilado CLI Automatização de tarefas através de linha de comando para a geração de assets para episódios do Compilado, a newsletter e podcast do can

Gabriel Froes 18 Nov 21, 2022
An interactive cheatsheet tool for the command-line

navi An interactive cheatsheet tool for the command-line. navi allows you to browse through cheatsheets (that you may write yourself or download from

Denis Isidoro 12.2k Dec 31, 2022
Ros command - Unifying the ROS command line tools

Unifying the ROS command line tools One impairment to ROS 2 adoption is that all

37 Dec 15, 2022
Rover is a command line interface application that allows through browse through mission data, images, metadata from the NASA Official Website

🤖 rover Rover is a command line interface application that allows through browse through mission data, images, metadata from the NASA Official Websit

Saketha Ramanjam 4 Jan 19, 2022
Rdwcli - Car list cli app with python

Rdwcli - Car list cli app with python

Arie Twigt 1 Feb 02, 2022
a GUI app base on warp-cli for linux

warp cloudflare gui a GUI app base on warp-cli for linux Installation read warp-cli install doc. install warp-cli and register with $ warp-cli registe

Moein Aghamirzaei 58 Jan 01, 2023
A command line tool to query source code from your current Python env

wxc wxc (pronounced "which") allows you to inspect source code in your Python environment from the command line. It is based on the inspect module fro

Clément Robert 13 Nov 08, 2022
Terminal-based keyboard testing

kbdtest kbdtest is a simple Python program that tests keyboard input using an interactive, terminal-based, visual keyboard display. It was originally

Ruunyox 12 Jul 19, 2022
Personal and work vim 8 configuration with submodules

vimfiles Windows Vim 8 configuration files based on the recommendations of Ruslan Osipov, Keep Your vimrc file clean and The musings of bluz71. :help

1 Aug 27, 2022
GanTTY - Project planning from the terminal

GanTTY - Project planning from the terminal

Timeo Sam Pochin 161 Dec 26, 2022
Simple and convenient console ToDo list app

How do you handle remembering all that loads of plans you are going to realize everyday? Producing tons of paper notes, plastered all over the house?

3 Aug 03, 2022