egara / buttermanager

ButterManager is a BTRFS tool for managing snapshots, balancing filesystems and upgrading the system safetly.
GNU General Public License v3.0
134 stars 6 forks source link
arch-linux aur balancing-filesystems btrfs gui linux managing-snapshots

ButterManager

Summary

ButterManager is a BTRFS tool for managing snapshots, balancing filesystems and upgrading the system safetly.

Version

2.5.2

Caveats

Main Functionalities

Managing snapshots

You will be able to define all the subvolumes you want to create snapshots and the path for their storage. Then, using ButterManager you will create and delete snapshots of those subvolumes at your will.

Integration with GRUB

ButterManager is integrated with grub-btrfs and you will be able to boot your system from any snapshot directly from the GRUB menu.

Balancing BTRFS filesystems

As new snapshots are created in the system, the free space of the filesystem decreases and it is necessary to perform a system balancing regularly. With ButterManager you can perform these balances at any time and visualize the real space that is occupied.

Upgrading the system

You will be able to upgrade your system and create new snapshots automatically when this operation is performed. Doing so, if something goes wrong, you will have a snapshot before the upgrade you can use to go back. You will be able to set the maximum number of snapshots in your system and ButterManager will maintain this number with every upgrade.

Saving the logs

Everytime your system is upgraded using ButterManager, you could save the log indepently. This way, you would be able to see the packages that have been updated in every snapshot if you wish.

Installation

You can install ButterManager in different ways.

From the source code

In order to install ButterManager manually, you have to install these packages (all the packages described below are for Arch Linux. Please, take into account that maybe the name is different in your distribution and you have to install them for python3 version):

Once you meet all the requirements, follow these steps:

  1. Clone the repository (install git if it is needed first)

    git clone https://github.com/egara/buttermanager.git
    
  2. Install ButterManager using one of the following installation scripts:

    1. Native Installation: This is the preferred method. It is slimmer because no virtual environment is created in order to execute ButterManager. This installation method will install the dependencies needed in your system natively and create an executable script for running the application. You will be able to execute ButterManager from the terminal typing buttermanager or directly via a shortcut created. In order to install ButterManager just open a terminal and execute:
      cd buttermanager
      cd install
      ./native_install.sh
    
    1. Venv Installation: If the first method doesn't run ButterManager properly, please try this second one. The installation process will create a virtual environment with all the dependencies needed and a desktop launcher to run ButterManager directly. In order to install ButterManager just open a terminal and type:
      cd buttermanager
      cd install
      ./venv_install.sh
  3. If you want to uninstall ButterManager:

    cd buttermanager
    cd install
    ./uninstall.sh

From AUR

If you are an Arch Linux user or your distribution is a derivative (Manjaro, EndevourOS...), ButterManager is in AUR. Depending on your package manager for AUR, type:

yaourt -S buttermanager

Or

trizen -S buttermanager

Or

yay -S buttermanager

Those are only examples. Use the package manager you have installed for AUR. Once ButterManager is installed, you will be able to run it using the icon created in the main menu.

From Nix

ButterManager is packaged in Nix and included in the official repo

From RPM

ButterManager is packaged in Fedora but it is outdated. This is the official package

Changelog

Version 2.5.2

Version 2.5.1

Version 2.5.0

Version 2.4.3

Version 2.4.2

Version 2.4.1

Version 2.4

Version 2.3

Version 2.2

Version 2.1

Version 2.0

Version 1.9

Version 1.8

Version 1.7

Version 1.6

Version 1.5

Version 1.4

Version 1.3

Version 1.2

Version 1.1

Version 1.0

Contact

If you want to contact me, you can do it using this e-mail address eloy.garcia.pca@gmail.com.