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 terminal utility to sort image files based on their characteristics.

About A terminal utility to sort image files based on their characteristics. Motivation This program was developed after I've realized that I had too

José Ferreira 1 Dec 10, 2022
A simple CLI to convert snapshots into EAVT log, and EAVT log into SCD.

EAVT helper CLI Simple CLI to convert snapshots into eavt log, and eavt log into slowly changing dimensions Usage Installation Snapshot to EAVT log EA

2 Apr 07, 2022
A Neat Application To Manage Your To-Do Lists.

WTD - What To Do? A Neat Application To Manage Your To-Do Lists. One folder can only have one to-do file. Running wth without any subcommands executes

Adam Vajda 1 Oct 24, 2021
Program Command Line Interface (CLI) Sederhana: Pemesanan Nasi Goreng Hekel

Program ini merupakan aplikasi yang berjalan di dalam command line (terminal). Program ini menggunakan built-in library python yaitu argparse yang dapat menerima parameter saat program ini dijalankan

Habib Abdurrasyid 5 Nov 19, 2021
A simple automation script that logs into your kra account and files your taxes with one command

EASY_TAX A simple automation script that logs into your kra account and files your taxes with one command Currently works for Chrome users. Will creat

leon koech 13 Sep 23, 2021
This is a CLI utility that allows you to view RedFlagDeals.com on the command line.

RFD Description Motivation Installation Usage View Hot Deals View and Sort Hot Deals Search Advanced View Posts Shell Completion bash zsh Description

Dave G 8 Nov 29, 2022
Command-line tool to use LNURL with your LND instance

Sprint planner Sprint planner is a Python script for planning your Jira tasks based on your calendar availability. Installation Use the package manage

Djuri Baars 6 Jan 14, 2022
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
Voidlx is a terminal cli apps launcher made in python

Voidlx is a terminal cli apps launcher made in python

2 Nov 13, 2021
RSS reader client for CLI (Command Line Interface),

rReader is RSS reader client for CLI(Command Line Interface)

Lee JunHaeng 10 Dec 24, 2022
MsfMania is a command line tool developed in Python that is designed to bypass antivirus software on Windows and Linux/Mac in the future

MsfMania MsfMania is a command line tool developed in Python that is designed to bypass antivirus software on Windows and Linux/Mac in the future. Sum

446 Dec 21, 2022
An open-source CLI tool for backing up RDS(PostgreSQL) Locally or to Amazon S3 bucket

An open-source CLI tool for backing up RDS(PostgreSQL) Locally or to Amazon S3 bucket

1 Oct 30, 2021
ctree - command line christmas tree

ctree ctree - command line christmas tree It is small python script that prints a christmas tree in terminal. It is colourful and always gives you a d

15 Aug 15, 2022
GoogleFormSpammer - A simple CLI script to spam Google Forms used by Crypto Wallet scammers to collect stolen data

GoogleFormSpammer - A simple CLI script to spam Google Forms used by Crypto Wallet scammers to collect stolen data

14 Dec 17, 2022
Terminal Colored Text for Python

Terminal Colored Text for Python

R3CKhi-**75 3 Sep 10, 2022
🏃 Python3 Solutions of All Problems in GCJ 2022 (In Progress)

GoogleCodeJam 2022 Python3 solutions of Google Code Jam 2022. Solution begins with * means it will get TLE in the largest data set. Total computation

kamyu 12 Dec 20, 2022
A webmining CLI tool & library for python.

minet is a webmining command line tool & library for python (= 3.6) that can be used to collect and extract data from a large variety of web sources

médialab Sciences Po 165 Dec 17, 2022
Doro is a CLI based pomodoro app and countdown timer application built using python.

Doro - CLI based pomodoro app Doro is a CLI based pomodoro app and countdown timer application built using python. Install $ pip install doro Usage Po

Suresh Kumar 14 May 23, 2022
A very simple OpenContest command line client written in Python

OpenContest Client A very simple OpenContest command line client written in Python. The only dependency is the requests library. Tested with Linux onl

Ladue Computer Science 1 May 25, 2022
CLI tool to view your VIT timetable from terminal anytime!

VITime CLI tool to view your timetable from terminal anytime! Table of contents Preview Installation PyPI Source code Updates Setting up Add timetable

16 Oct 04, 2022