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)
Command-line script to upload videos to Youtube using theYoutube APIv3.

Introduction Command-line script to upload videos to Youtube using theYoutube APIv3. It should work on any platform (GNU/Linux, BSD, OS X, Windows, ..

Arnau Sanchez 1.9k Jan 09, 2023
lazy_table - a python-tabulate wrapper for producing tables from generators

A python-tabulate wrapper for producing tables from generators. Motivation lazy_table is useful when (i) each row of your table is generated by a poss

Parsiad Azimzadeh 52 Nov 12, 2022
Detect secret in source code, scan your repo for leaks. Find secrets with GitGuardian and prevent leaked credentials. GitGuardian is an automated secrets detection & remediation service.

GitGuardian Shield: protect your secrets with GitGuardian GitGuardian shield (ggshield) is a CLI application that runs in your local environment or in

GitGuardian 1.2k Jan 06, 2023
Command line util for grep.app - Search across a half million git repos

grepgithub Command line util for grep.app - Search across a half million git repos Grepgithub uses grep.app API to search GitHub repositories, providi

Nenad Popovic 18 Dec 28, 2022
open a remote repo locally quickly

A command line tool to peek a remote repo hosted on github or gitlab locally and view it in your favorite editor. The tool handles cleanup of the repo once you exit your editor.

Rahul Nair 44 Dec 16, 2022
A simple yet powerful timer and time tracker from the command line.

Focus Phase Focus Phase (FP) is a simple yet powerful timer and time tracker. It is a command-line application written in Python and can be installed

Ammar Alyousfi 13 Jan 13, 2022
A Simple Python CLI Lockpicking Tool

Cryptex a simple CLI lockpicking tool What can it do: Encode / Decode Hex Encode / Decode Base64 Break Randomly :D Requirements: Python3 Linux as your

Alex Kollar 23 Jul 04, 2022
stonky is a simple command line dashboard for monitoring stocks.

stonky is a simple command line dashboard for monitoring stocks.

Jessy Williams 228 Dec 14, 2022
Simple CLI prompt for easy I/O with OpenAI's API

openai-cli-prompt Simple CLI prompt for easy I/O with OpenAI's API Quickstart Create a .env file with: OPENAI_API_KEY=Your OpenAI API Key Configure

Erik Nomitch 1 Oct 12, 2021
A Python command-line utility for validating that the outputs of a given Declarative Form Azure Portal UI JSON template map to the input parameters of a given ARM Deployment Template JSON template

A Python command-line utility for validating that the outputs of a given Declarative Form Azure Portal UI JSON template map to the input parameters of a given ARM Deployment Template JSON template

Glenn Musa 1 Feb 03, 2022
Execute shell command lines in parallel on Slurm, S(on) of Grid Engine (SGE), PBS/Torque clusters

qbatch Execute shell command lines in parallel on Slurm, S(on) of Grid Engine (SGE), PBS/Torque clusters qbatch is a tool for executing commands in pa

Jon Pipitone 26 Dec 12, 2022
CLabel is a terminal-based cluster labeling tool that allows you to explore text data interactively and label clusters based on reviewing that data.

CLabel is a terminal-based cluster labeling tool that allows you to explore text data interactively and label clusters based on reviewing that

Peter Baumgartner 29 Aug 09, 2022
A command line interface to buy things in stregsystemet

Stregsystemet-CLI This repository is the Stregsystemet CLI, to buy things in Stregsystemet, at AAU. Use of this cli-tool is at your own risk and there

F-klubben 14 Oct 18, 2022
Just a shell writed on Python

HIGHSHELL (also hSH or HS) Just a shell writed on Python Send bug report • How to use the shell • Broked features • Licenses How to use the shell Inst

0LungSkill0 2 Jan 04, 2022
Command line tool to automate transforming the effects of one color profile to another, possibly more standard one.

Finished rendering the frames of that animation, and now the colors look washed out and ugly? This terminal program will solve exactly that.

Eric Xue 1 Jan 26, 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
Analysis of a daily word game "Wordle"

Wordle Analysis of a daily word game "Wordle" https://www.powerlanguage.co.uk/wordle/ Description Worlde is a daily word game in which a player attemp

Bartek 1 Feb 07, 2022
xonsh is a Python-powered, cross-platform, Unix-gazing shell

xonsh is a Python-powered, cross-platform, Unix-gazing shell language and command prompt.

xonsh 6.7k Dec 31, 2022
A simple CLI tool for tracking Pikud Ha'oref alarms.

Pikud Ha'oref Alarm Tracking A simple CLI tool for tracking Pikud Ha'oref alarms. Polls the unofficial API endpoint every second for incoming alarms.

Yuval Adam 24 Oct 10, 2022
A multipurpose discord bot with more than 220 commands

Welcome WM Bot A advanced bot with more than 220 commands to fit your needs Explore the commands » View Demo · Report Bug · Request Feature Table of C

Wasi Master 12 Dec 16, 2022