egara / buttermanager Goto Github PK
View Code? Open in Web Editor NEWButterManager is a BTRFS tool for managing snapshots, balancing filesystems and upgrading the system safetly.
License: GNU General Public License v3.0
ButterManager is a BTRFS tool for managing snapshots, balancing filesystems and upgrading the system safetly.
License: GNU General Public License v3.0
Installed on Fedora 38 using dnf, buttermanager package version buttermanager-2.4.2-6.fc38.noarch
.
Starting it from Gnome, a notification appears saying the app crashed. When I start it up on the command line, I get this error:
$ buttermanager
QSocketNotifier: Can only be used with threads started with QThread
qt.qpa.qgnomeplatform.theme: The desktop style for QtQuick Controls 2 applications is not available on the system (qqc2-desktop-style). The application may look broken.
Traceback (most recent call last):
File "/usr/bin/buttermanager", line 33, in <module>
sys.exit(load_entry_point('buttermanager==2.4.2', 'console_scripts', 'buttermanager')())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/buttermanager/bm_main.py", line 17, in main
PasswordWindow(None)
File "/usr/lib/python3.11/site-packages/buttermanager/buttermanager/buttermanager.py", line 60, in __init__
self.__buttermanager_configurator.configure()
File "/usr/lib/python3.11/site-packages/buttermanager/buttermanager/util/utils.py", line 140, in configure
self.migrate_properties()
File "/usr/lib/python3.11/site-packages/buttermanager/buttermanager/util/utils.py", line 184, in migrate_properties
snapshots_to_keep = int(settings.properties_manager.get_property('snapshots_to_keep'))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ValueError: invalid literal for int() with base 10: ''
It would be fine if you update the GitHub releases for version 2.3.
Kind regards
Brody
I'm using the new fast action button. The process does not do anything to the snapshots and I have to click on the take snapshots button. That process does not remove old snapshots. When does it check for the snapshot amount? I have now defined Snapshots to keep: 3 and There is 2 subvolumes with 6 snapshots.
In order to keep proportions
The AUR package depends on grub-btrfs
, in my case I am using systemd-boot
. Would be possible done the dependency optional?
I don't know if it is as easy as change the dependency from depends
to optdepends
or if it is more integrated in the code.
Hi, I'm running into this using gksu on a new ArchLabs install. If I pass anything to after the argument, I get
ValueError: invalid literal for int() with base 10: ''
Title is self-explanatory.
While most systems do have sudo, some don't, including mine (I use doas).
There should be some sort of option to allot for people who might not have sudo on their system.
In the "Main" tab, when switching the "Filesystem" option, nothing happens, the Size and Allocated values are not updated.
Version: since at least 3 versions 🤔
After making a few snapshots (8, out of 7 subvolumes), I tried to show differences between the first (/) snapshot and the current state. The Dialog popup is shown, but in the command ligne I have this error:
(Parent is Breeze::WidgetStateEngine(0x29d1960), parent's thread is QThread(0x2631dd0), current thread is Differentiator(0x7f2514010220)
QObject::installEventFilter(): Cannot filter events for objects in a different thread.
QObject: Cannot create children for a parent that is in a different thread.
(Parent is Breeze::WidgetStateEngine(0x29d1960), parent's thread is QThread(0x2631dd0), current thread is Differentiator(0x7f2514010220)
Traceback (most recent call last):
File "/opt/buttermanager/buttermanager/buttermanager/filesystem/snapshot.py", line 445, in run
self.__calculate_differences()
File "/opt/buttermanager/buttermanager/buttermanager/filesystem/snapshot.py", line 473, in __calculate_differences
subvolume_name = list(filter(None, subvolume_name_list))[-1]
IndexError: list index out of range
Implement a new tab for logs and allow their visualization
This would allow users to authenticate using their mechanism of choice (e.g. fingerprint reader) in a consistent way, rather than forcing them to use their passwords.
Integrating Buttermanager with the application grub-btrfs, the user will be able to boot its system from a specific snapshot when grub menu appears on screen
Version : Buttermanager 2.5.0
Hello,
I have selected 3 subvolumes. One include 2 spaces in its name (both subvolume and folder).
If I want to snapshot it, it fails.
I have no log file (why ? 🤔) so I can't share it.
But from the command line: btrfs subvolume snapshot: exactly 2 arguments expected, 4 given
I suppose its the spaces that are causing trouble… what do you think ?
I believe you need to escape the spaces :)
error: cannot open: "buttermanager_1.5_amd64.snap"
I also couldn't find ButterManager in the Snap Store.
I also tried to install it with the Python script but I had to edit the script in a lot of places to get it running without errors, but at the end it didn't install ButterManager anyway.
I tried this on openSUSE Tumbleweed. Installing it on Arch was super easy through the AUR.
In order the application to be more easy to use and configure
Just throwing this here. did not have time to investigate more. Tried to reinstall but same error. Arch Linux
Traceback (most recent call last):
File "/usr/lib/python3.11/importlib/metadata/__init__.py", line 563, in from_name
return next(cls.discover(name=name))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
StopIteration
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/bin/buttermanager", line 33, in <module>
sys.exit(load_entry_point('buttermanager==2.5.0', 'console_scripts', 'buttermanager')())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/bin/buttermanager", line 22, in importlib_load_entry_point
for entry_point in distribution(dist_name).entry_points
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/importlib/metadata/__init__.py", line 981, in distribution
return Distribution.from_name(distribution_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/importlib/metadata/__init__.py", line 565, in from_name
raise PackageNotFoundError(name)
importlib.metadata.PackageNotFoundError: No package metadata was found for buttermanager
I just installed ButterManager with the snap package on openSUSE Tumbleweed, but when I try to open it, it doesn't start.
Here is the terminal output:
damian101@localhost:~> buttermanager
Gtk-Message: Failed to load module "canberra-gtk-module"
_IceTransSocketUNIXConnect: Cannot connect to non-local host localhost
_IceTransSocketUNIXConnect: Cannot connect to non-local host localhost
Qt: Session management error: Could not open network socket
(python3:30946): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/engines/libpixmap.so: wrong ELF class: ELFCLASS32
(python3:30946): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/engines/libpixmap.so: wrong ELF class: ELFCLASS32
(python3:30946): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/engines/libpixmap.so: wrong ELF class: ELFCLASS32
(python3:30946): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/engines/libpixmap.so: wrong ELF class: ELFCLASS32
(python3:30946): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/engines/libpixmap.so: wrong ELF class: ELFCLASS32
(python3:30946): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/engines/libpixmap.so: wrong ELF class: ELFCLASS32
(python3:30946): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/engines/libpixmap.so: wrong ELF class: ELFCLASS32
(python3:30946): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/engines/libpixmap.so: wrong ELF class: ELFCLASS32
(python3:30946): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/engines/libpixmap.so: wrong ELF class: ELFCLASS32
(python3:30946): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/engines/libpixmap.so: wrong ELF class: ELFCLASS32
(python3:30946): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/engines/libpixmap.so: wrong ELF class: ELFCLASS32
(python3:30946): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/engines/libpixmap.so: wrong ELF class: ELFCLASS32
(python3:30946): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/engines/libpixmap.so: wrong ELF class: ELFCLASS32
(python3:30946): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/engines/libpixmap.so: wrong ELF class: ELFCLASS32
(python3:30946): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/engines/libpixmap.so: wrong ELF class: ELFCLASS32
(python3:30946): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/engines/libpixmap.so: wrong ELF class: ELFCLASS32
(python3:30946): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/engines/libpixmap.so: wrong ELF class: ELFCLASS32
(python3:30946): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/engines/libpixmap.so: wrong ELF class: ELFCLASS32
(python3:30946): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/engines/libpixmap.so: wrong ELF class: ELFCLASS32
(python3:30946): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/engines/libpixmap.so: wrong ELF class: ELFCLASS32
(python3:30946): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/engines/libpixmap.so: wrong ELF class: ELFCLASS32
(python3:30946): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/engines/libpixmap.so: wrong ELF class: ELFCLASS32
(python3:30946): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/engines/libpixmap.so: wrong ELF class: ELFCLASS32
Traceback (most recent call last):
File "/snap/buttermanager/x2/usr/lib/python3.5/urllib/request.py", line 1254, in do_open
h.request(req.get_method(), req.selector, req.data, headers)
File "/snap/buttermanager/x2/usr/lib/python3.5/http/client.py", line 1106, in request
self._send_request(method, url, body, headers)
File "/snap/buttermanager/x2/usr/lib/python3.5/http/client.py", line 1151, in _send_request
self.endheaders(body)
File "/snap/buttermanager/x2/usr/lib/python3.5/http/client.py", line 1102, in endheaders
self._send_output(message_body)
File "/snap/buttermanager/x2/usr/lib/python3.5/http/client.py", line 934, in _send_output
self.send(msg)
File "/snap/buttermanager/x2/usr/lib/python3.5/http/client.py", line 877, in send
self.connect()
File "/snap/buttermanager/x2/usr/lib/python3.5/http/client.py", line 1260, in connect
server_hostname=server_hostname)
File "/snap/buttermanager/x2/usr/lib/python3.5/ssl.py", line 377, in wrap_socket
_context=self)
File "/snap/buttermanager/x2/usr/lib/python3.5/ssl.py", line 752, in __init__
self.do_handshake()
File "/snap/buttermanager/x2/usr/lib/python3.5/ssl.py", line 988, in do_handshake
self._sslobj.do_handshake()
File "/snap/buttermanager/x2/usr/lib/python3.5/ssl.py", line 633, in do_handshake
self._sslobj.do_handshake()
ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:645)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/snap/buttermanager/x2/buttermanager/util/utils.py", line 200, in check_version
response = urllib.request.urlopen(self.__version_url)
File "/snap/buttermanager/x2/usr/lib/python3.5/urllib/request.py", line 163, in urlopen
return opener.open(url, data, timeout)
File "/snap/buttermanager/x2/usr/lib/python3.5/urllib/request.py", line 466, in open
response = self._open(req, data)
File "/snap/buttermanager/x2/usr/lib/python3.5/urllib/request.py", line 484, in _open
'_open', req)
File "/snap/buttermanager/x2/usr/lib/python3.5/urllib/request.py", line 444, in _call_chain
result = func(*args)
File "/snap/buttermanager/x2/usr/lib/python3.5/urllib/request.py", line 1297, in https_open
context=self._context, check_hostname=self._check_hostname)
File "/snap/buttermanager/x2/usr/lib/python3.5/urllib/request.py", line 1256, in do_open
raise URLError(err)
urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:645)>
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "buttermanager.py", line 865, in <module>
password_window = PasswordWindow(None)
File "buttermanager.py", line 69, in __init__
self.init_ui()
File "buttermanager.py", line 108, in init_ui
self.__version_checker.check_version()
File "/snap/buttermanager/x2/buttermanager/util/utils.py", line 206, in check_version
self.__logger.error("Error checking new versions of ButterManager. Reason: " + exception.reason)
TypeError: Can't convert 'ssl.SSLError' object to str implicitly
damian101@localhost:~>
Include a button in the updates checker window for upgrading the system without creating snapshots
System progressbas has no sense. It should be removed from the main window
Because some users ha installed the application cloning the repository or via the custom snap package, those users won't be aware when a new version is available, so the application should warn when a new release has been deployed.
Now, when ButterManager checks for updates, it is done in the main thread, so the GUI is blocked.
The process implemented to check for updates must be in another thread.
Console output:
btrfs subvolume snapshot: exactly 2 arguments expected, 1 given
btrfs subvolume show: exactly 1 argument expected, 0 given
Traceback (most recent call last):
File "/usr/lib/python3.9/site-packages/buttermanager/buttermanager/window/windows.py", line 275, in consolidate
commandline_output = subprocess.check_output(command, shell=True)
File "/usr/lib/python3.9/subprocess.py", line 424, in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
File "/usr/lib/python3.9/subprocess.py", line 528, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['sudo btrfs subvolume show ']' returned non-zero exit status 1.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.9/site-packages/buttermanager/buttermanager/window/windows.py", line 278, in consolidate
str(called_process_error_exception.reason))
AttributeError: 'CalledProcessError' object has no attribute 'reason'
Aborted
Relevant log:
2021-09-23 17:11:16,835 INFO:ConfigManager. Checking OS. ARCH found
2021-09-23 17:11:16,835 INFO:ConfigManager. Checking Desktop Environment. kde found
2021-09-23 17:11:16,835 INFO:ConfigManager. Installation type: native
2021-09-23 17:11:16,835 INFO:ConfigManager. Creating PropertiesManager...
2021-09-23 17:11:16,836 INFO:ConfigManager. Migration process has finished successfully!
2021-09-23 17:11:16,836 INFO:ConfigManager. Retrieving user's configuration from buttermanager.yaml file and loading it in memory...
2021-09-23 17:11:16,836 INFO:VersionChecker. Checking for a new version of ButterManager. Please wait...
2021-09-23 17:11:16,852 INFO:PasswordWindow. Calculating appropriated base font size for UI elements...
2021-09-23 17:11:16,853 INFO:PasswordWindow. Base font size = 10
2021-09-23 17:11:17,064 INFO:VersionChecker. Last version is 2.4.2 and current version is 2.4.2
2021-09-23 17:11:20,571 INFO:RootSnapshotChecker. Checking if the current snapshot used for root is the default. Please wait...
2021-09-23 17:11:20,783 INFO:ButtermanagerMainWindow. BTRFS filesystems found in the system:
2021-09-23 17:11:20,783 INFO:ButtermanagerMainWindow. BTRFS Filesystem -> UUID: 28a88c3b-5018-40f5-b628-70a519155731; Devices: ['/dev/nvme1n1p2']; Mounted Points: ['/', '/home', '/mnt/defvol']
2021-09-23 17:11:23,095 INFO:ConsolidateSnapshotWindow. Consolidating default root snapshot. The system has booted in /mnt/defvol/_snapshots/root-20210923-0 and it will be consolidated into
2021-09-23 17:11:23,095 INFO:Subvolume. Deleting subvolume from origin /. Please wait...
2021-09-23 17:11:23,095 INFO:Subvolume. Deleting subvolume from origin /. Please wait...
2021-09-23 17:11:23,103 INFO:Subvolume. Snapshot / deleted.
2021-09-23 17:11:23,103 INFO:Subvolume. Snapshot / deleted.
btrfs-list:
NAME TYPE EXCL MOUNTPOINT
28a88c3b fs 137.47G (single, 788.23G free)
[main] mainvol - /
_active subvol -
_active/home subvol - /home
_snapshots/home.20210919_1 rosnap -
_snapshots/home.20210923 rosnap -
_snapshots/home-20210923-0 rosnap -
_snapshots subvol -
_active/root subvol -
_active/root.BROKEN snap -
_snapshots/root-20210923-0 snap - /
_snapshots/root.20210923 rosnap -
_snapshots/root.20210919_1 rosnap -
It is probably because I somehow fucked my filesystem while trying to use btrbk and their restore guide. But I don't really know so I wanted to share the broken case if you want to add some safety checks.
System : Kubuntu 20.10
Version : 2.3, and master
Hello,
When I select a subvolume, or any folder, the app just quit, and if I open it again nothing was saved.
I suppose that's a bug ?
When ButterManager runs for the first time, Updates Ckecker on Start Up should be unchecked
Creating snapshots and updating GRUB entries if it is necessary...
When I run the update in the ButterManager I can see that in the log but there is not a new snapshot if I don't make it manually and when I make one it is added to grub menu.
I'm just wondering have I done something wrong or is this how it should work?
Is there an easy way to trigger the automatic snapshot creation when I run the system update from the command line?
$ /usr/local/bin/buttermanager
Traceback (most recent call last):
File "/usr/local/bin/buttermanager", line 33, in <module>
sys.exit(load_entry_point('buttermanager==2.5.0', 'console_scripts', 'buttermanager')())
File "/usr/local/bin/buttermanager", line 25, in importlib_load_entry_point
return next(matches).load()
File "/usr/lib/python3.10/importlib/metadata/__init__.py", line 171, in load
module = import_module(match.group('module'))
File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/usr/local/lib/python3.10/dist-packages/buttermanager-2.5.0-py3.10.egg/buttermanager/bm_main.py", line 1, in <module>
from .buttermanager.buttermanager import PasswordWindow
File "/usr/local/lib/python3.10/dist-packages/buttermanager-2.5.0-py3.10.egg/buttermanager/buttermanager/buttermanager.py", line 20, in <module>
from .filesystem import filesystem, snapshot
File "/usr/local/lib/python3.10/dist-packages/buttermanager-2.5.0-py3.10.egg/buttermanager/buttermanager/filesystem/filesystem.py", line 24, in <module>
from ..window import windows
File "/usr/local/lib/python3.10/dist-packages/buttermanager-2.5.0-py3.10.egg/buttermanager/buttermanager/window/windows.py", line 23, in <module>
from ..filesystem import snapshot
File "/usr/local/lib/python3.10/dist-packages/buttermanager-2.5.0-py3.10.egg/buttermanager/buttermanager/filesystem/snapshot.py", line 24, in <module>
from ..util import settings, utils
File "/usr/local/lib/python3.10/dist-packages/buttermanager-2.5.0-py3.10.egg/buttermanager/buttermanager/util/settings.py", line 22, in <module>
from . import utils
File "/usr/local/lib/python3.10/dist-packages/buttermanager-2.5.0-py3.10.egg/buttermanager/buttermanager/util/utils.py", line 26, in <module>
from PyQt5.QtWidgets import QFileDialog
ImportError: /usr/local/lib/python3.10/dist-packages/PyQt5-5.15.10-py3.10-linux-x86_64.egg/PyQt5/QtWidgets.abi3.so: undefined symbol: _ZdlPvm, version Qt_5
Hi, I notice a snapshot error in a log.
How to reproduce:
Checking for system updates.
--------
--------
Starting system upgrading process. Please wait...
--------
Creating snapshots and updating GRUB entries if it is necessary...
--------
Create a snapshot of '/mnt/defvol/@/' in '/mnt/defvol/snapshots/root-20211024-0'
--------
Error creating the snapshot /mnt/defvol/@/
Error: 'NoneType' object has no attribute 'decode'
--------
Upgrading the system. Please wait...
:: Synchronising package databases...
core downloading...
extra downloading...
community downloading...
multilib downloading...
endeavouros downloading...
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...
Maybe ButterManager is involved in this case ?
Best regards
I'm getting this message: You have booted into an alternative snapshot. Do you want to consolidate it as your default
I'm not actually totally sure how I ended up with this problem. I'll try to explain.
first GRUB updated to new version and it did not work anymore (boot loop) so I booted up arch install usb and copied /boot/ from older snapshot to the active one. Then I was able to boot again. Then I loaded older snapshot to get everything like it was before the GRUB problem.
Next I had to run grub-install and grub-mkconfig to get the new version of GRUB working but now even if boot any snapshot or the active one buttermanager is always saying that message and consolidation does nothing.
Any tips how to fix this? I don't need my old snapshots.
I've never worked with python, but it looks like there is something wrong with string to integer conversion.
Arch Linux, Gnome 40.
Traceback (most recent call last): File "/usr/bin/buttermanager", line 33, in <module> sys.exit(load_entry_point('buttermanager==2.3', 'console_scripts', 'buttermanager')()) File "/usr/lib/python3.9/site-packages/buttermanager/bm_main.py", line 17, in main PasswordWindow(None) File "/usr/lib/python3.9/site-packages/buttermanager/buttermanager/buttermanager.py", line 60, in __init__ self.__buttermanager_configurator.configure() File "/usr/lib/python3.9/site-packages/buttermanager/buttermanager/util/utils.py", line 142, in configure self.migrate_properties() File "/usr/lib/python3.9/site-packages/buttermanager/buttermanager/util/utils.py", line 186, in migrate_properties snapshots_to_keep = int(settings.properties_manager.get_property('snapshots_to_keep')) ValueError: invalid literal for int() with base 10: ''
Hi,
please can you create the expected tag?
Kind regards
After upgrading to version 2.5.0, the font size went from "normal" to "very very small" (just like on an HDPI screen).
I'm using a 15" laptop, Full HD definition.
Also I'm using a custom scaling in KDE settings (106,25%), just in case it could be related…
By the way : what's new in this version ? :)
python /opt/buttermanager/buttermanager/buttermanager.py
Traceback (most recent call last):
File "/opt/buttermanager/buttermanager/buttermanager.py", line 21, in <module>
import filesystem.filesystem
File "/opt/buttermanager/buttermanager/filesystem/filesystem.py", line 25, in <module>
import util.utils
File "/opt/buttermanager/buttermanager/util/utils.py", line 36, in <module>
import window.windows
File "/opt/buttermanager/buttermanager/window/windows.py", line 26, in <module>
from PyQt5.QtWidgets import QDesktopWidget, QDialog, QMainWindow, QFileDialog
ModuleNotFoundError: No module named 'PyQt5.sip'
I tried installing the PyQt5 package, but it wasn't enough.
There's a package named python2-sip-pyqt5
, but none for python 3.
When trying to restore the previous snapshot I get
Error removing root snapshot because it is not empty and there are subvolumes within it. The consolidation process couldn't be done.
I think this is due to docker using btrfs storage driver when your system is btrfs. https://docs.docker.com/storage/storagedriver/btrfs-driver/
btrfs-list
NAME TYPE EXCL MOUNTPOINT
8d49b3d9 fs 524.44G (single, 397.26G free)
[main] mainvol - /
_active subvol -
_active/home subvol - /home
_snapshots/home-20220509-0 rosnap -
_snapshots/home-20220510-0 rosnap -
_snapshots/home-20220510-1 rosnap -
_snapshots/home-20220515-0 rosnap -
_snapshots/home-20220516-0 rosnap -
_snapshots/home-20220522-0 rosnap -
_snapshots subvol -
_active/root/var/lib/docker/btrfs/subvolumes/5c0c577fbc807d18f455b25dbf15dd8f2206340ac3219cac28705ddb445870b1 subvol -
_active/root/var/lib/docker/btrfs/subvolumes/89da89fb79c534966bdbddfd90f71d75c2787ee5356caf26519c9ef376f40d4f snap -
_active/root/var/lib/docker/btrfs/subvolumes/4f71a21eed30b27a35a7af560304d4c631b5385ae1f0d842f11cb9188c0191ea snap -
_active/root/var/lib/docker/btrfs/subvolumes/53faadbc170d31293d35fc818b6061fc70bad40b84349864fef2664b19ca9230 snap -
_active/root/var/lib/docker/btrfs/subvolumes/33458e412d4db56fa713e35e35ff9084c49d4bf73e4b01c78eb81bdf6e471f53 snap -
_active/root/var/lib/docker/btrfs/subvolumes/97122f575ec6ab5203b3d292a0b1c7be1d18cfd60ee27c0b43797614bb6f2e44 snap -
_active/root/var/lib/docker/btrfs/subvolumes/64a1becc16557148dc72eedfcafb898b35d63f0bd421b0ce724a9f7347f45d99 snap -
_active/root/var/lib/docker/btrfs/subvolumes/f578126cce5500bab66683244214169cc47e33a60313a95599a4f8df450ead3d snap -
_active/root/var/lib/docker/btrfs/subvolumes/bf3b32b5f38bc6bc10ceafc07dc04fbd4b5cd9b94da94e602f7b361895e7b396 snap -
_active/root/var/lib/docker/btrfs/subvolumes/c11b92d4bbd019cd8e2a688d51445327f0b9644ecf90d07e44d5c4e76b168ed3 snap -
_active/root/var/lib/docker/btrfs/subvolumes/07cabea4bd28aaf01f9fd759f3aad7d3baf33fcb46ea88928c250bcad7518db4 snap -
_active/root/var/lib/docker/btrfs/subvolumes/9d6cec32ee4ea01d553b0697507c3158dd24cb21ecf116af80d4ac1471c36ea2 snap -
_active/root/var/lib/docker/btrfs/subvolumes/ba9fccbaa568553450a59ebaf885bb48f6d60698ea30754e00d5ff24adb5bf4a snap -
_active/root/var/lib/docker/btrfs/subvolumes/b5132c68ca5ecc28cac84934c1c8b29221808eeee62a16d9a02b9051fac9afdc-init snap -
_active/root/var/lib/docker/btrfs/subvolumes/b5132c68ca5ecc28cac84934c1c8b29221808eeee62a16d9a02b9051fac9afdc snap -
_snapshots/root-20220522-0 snap - /
_snapshots/root-20220510-1 snap -
_active/root snap -
_snapshots/root-20220510-0 snap -
_snapshots/root-20220516-0 snap -
_snapshots/root-20220515-0 snap -
_snapshots/root-20220509-0 snap -
btrfs subvolume list /mnt/defvol/_active/root/var/lib/docker/btrfs/
ID 256 gen 249506 top level 5 path _active
ID 258 gen 249550 top level 256 path _active/home
ID 259 gen 249506 top level 5 path _snapshots
ID 1154 gen 249543 top level 256 path _active/root
ID 2161 gen 249539 top level 1154 path var/lib/docker/btrfs/subvolumes/5c0c577fbc807d18f455b25dbf15dd8f2206340ac3219cac28705ddb445870b1
ID 2162 gen 249540 top level 1154 path var/lib/docker/btrfs/subvolumes/89da89fb79c534966bdbddfd90f71d75c2787ee5356caf26519c9ef376f40d4f
ID 2163 gen 249540 top level 1154 path var/lib/docker/btrfs/subvolumes/4f71a21eed30b27a35a7af560304d4c631b5385ae1f0d842f11cb9188c0191ea
ID 2164 gen 249540 top level 1154 path var/lib/docker/btrfs/subvolumes/53faadbc170d31293d35fc818b6061fc70bad40b84349864fef2664b19ca9230
ID 2165 gen 249540 top level 1154 path var/lib/docker/btrfs/subvolumes/33458e412d4db56fa713e35e35ff9084c49d4bf73e4b01c78eb81bdf6e471f53
ID 2166 gen 249540 top level 1154 path var/lib/docker/btrfs/subvolumes/97122f575ec6ab5203b3d292a0b1c7be1d18cfd60ee27c0b43797614bb6f2e44
ID 2167 gen 249540 top level 1154 path var/lib/docker/btrfs/subvolumes/64a1becc16557148dc72eedfcafb898b35d63f0bd421b0ce724a9f7347f45d99
ID 2168 gen 249540 top level 1154 path var/lib/docker/btrfs/subvolumes/f578126cce5500bab66683244214169cc47e33a60313a95599a4f8df450ead3d
ID 2169 gen 249541 top level 1154 path var/lib/docker/btrfs/subvolumes/bf3b32b5f38bc6bc10ceafc07dc04fbd4b5cd9b94da94e602f7b361895e7b396
ID 2170 gen 249541 top level 1154 path var/lib/docker/btrfs/subvolumes/c11b92d4bbd019cd8e2a688d51445327f0b9644ecf90d07e44d5c4e76b168ed3
ID 2171 gen 249541 top level 1154 path var/lib/docker/btrfs/subvolumes/07cabea4bd28aaf01f9fd759f3aad7d3baf33fcb46ea88928c250bcad7518db4
ID 2172 gen 249542 top level 1154 path var/lib/docker/btrfs/subvolumes/9d6cec32ee4ea01d553b0697507c3158dd24cb21ecf116af80d4ac1471c36ea2
ID 2173 gen 249542 top level 1154 path var/lib/docker/btrfs/subvolumes/ba9fccbaa568553450a59ebaf885bb48f6d60698ea30754e00d5ff24adb5bf4a
ID 2178 gen 249542 top level 1154 path var/lib/docker/btrfs/subvolumes/b5132c68ca5ecc28cac84934c1c8b29221808eeee62a16d9a02b9051fac9afdc-init
ID 2179 gen 249543 top level 1154 path var/lib/docker/btrfs/subvolumes/b5132c68ca5ecc28cac84934c1c8b29221808eeee62a16d9a02b9051fac9afdc
ID 2319 gen 249507 top level 259 path _snapshots/root-20220509-0
ID 2320 gen 234208 top level 259 path _snapshots/home-20220509-0
ID 2321 gen 249507 top level 259 path _snapshots/root-20220510-0
ID 2322 gen 235498 top level 259 path _snapshots/home-20220510-0
ID 2323 gen 249507 top level 259 path _snapshots/root-20220510-1
ID 2324 gen 235785 top level 259 path _snapshots/home-20220510-1
ID 2647 gen 249507 top level 259 path _snapshots/root-20220515-0
ID 2648 gen 240582 top level 259 path _snapshots/home-20220515-0
ID 2649 gen 249507 top level 259 path _snapshots/root-20220516-0
ID 2650 gen 242162 top level 259 path _snapshots/home-20220516-0
ID 2651 gen 249545 top level 259 path _snapshots/root-20220522-0
ID 2652 gen 248927 top level 259 path _snapshots/home-20220522-0
This is such a mess ... not sure if buttermanager can really do much about that.
When balancing operation is done, information labels don't refresh properly
Btrfs Assistant came preinstalled in my distro. Is there any danger in running buttermanager alongside other btrfs GUIS?
Some of the tooltips are wrong
Hello,
I would like to make a proposal : buttermanager could feature a "snapshot exclusive files size" (or rather a "how much storage space as been freed since that snapshot") next to each snapshot.
That would give us an (approximate ?) extra amount of storage that is used by that snapshots, or more precisely by the files (from that snapshot) that are unique (=only found in that snapshot, and no longer present in the system).
I have no idea how doable and difficult it is, I just wanted to know if that something that could be implemented :)
For the record, that's a feature available in Timeshift that I found very handy to catch which snapshot is taking a lot of space.
Thank you
I wanted to try out buttermanager on my arch machine. But the installation of buttermanager would have required to install grub on my system. Since the system gets started via systemd-boot, grub is not available. And I have no intention to install grub, because that could potentially hurt or break my current setup.
Hence, I'm currently not able to install buttermanager on my system.
I sometimes get an error when updating with snapshots. Not every time, but about 50/50
I think it started happening after the last python version update on Arch. I have rebuild buttermanager from AUR after that update.
Checking for system updates.
--------
--------
Starting system upgrading process. Please wait...
--------
Creating snapshots and updating GRUB entries if it is necessary...
--------
Create a snapshot of '/mnt/defvol/_active/root/' in '/mnt/defvol/_snapshots/root-20211221-0'
Create a readonly snapshot of '/mnt/defvol/_active/home/' in '/mnt/defvol/_snapshots/home-20211221-0'
Upgrading the system. Please wait...
:: Synchronizing package databases...
system downloading...
world downloading...
galaxy downloading...
lib32 downloading...
universe downloading...
extra downloading...
community downloading...
multilib downloading...
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...
Packages (11) cmake-3.22.1-3 jsoncpp-1.9.5-1 lib32-libxcrypt-4.4.27-1 libthai-0.1.29-1 libxcrypt-4.4.27-1 nodejs-17.3.0-1 openxr-1.0.20-2 python-cryptography-36.0.1-1 tcl-8.6.12-3 webkit2gtk-2.34.3-1 wine-staging-7.0rc1-1
Total Download Size: 112.43 MiB
Total Installed Size: 695.22 MiB
Net Upgrade Size: -2.52 MiB
:: Proceed with installation? [Y/n]
:: Retrieving packages...
wine-staging-7.0rc1-1-x86_64 downloading...
webkit2gtk-2.34.3-1-x86_64 downloading...
nodejs-17.3.0-1-x86_64 downloading...
cmake-3.22.1-3-x86_64 downloading...
tcl-8.6.12-3-x86_64 downloading...
python-cryptography-36.0.1-1-x86_64 downloading...
openxr-1.0.20-2-x86_64 downloading...
libthai-0.1.29-1-x86_64 downloading...
jsoncpp-1.9.5-1-x86_64 downloading...
libxcrypt-4.4.27-1-x86_64 downloading...
lib32-libxcrypt-4.4.27-1-x86_64 downloading...
checking keyring...
checking package integrity...
loading package files...
checking for file conflicts...
checking available disk space...
:: Processing package changes...
upgrading jsoncpp...
upgrading libxcrypt...
'unknown': I need something more specific.
After this the program hangs. Killing it and trying to update manually says that there is already an update process running.
Restarting results in a broken system sometimes, especially when kernel updates take place.
Anything I can provide or do to debug this issue?
Steps to reproduce:
_snapshots/root-20210924-0
_snapshots/root-20210924-1
Go to snapshots tab and use the bin to delete the first of the two snapshots e.g.:
_snapshots/root-20210924-0
Go to main tab and use "Take snapshot" - no new snapshot will be created.
(You have to delete the snapshot with the -1 ending as well for it to work again, or wait for the next day.)
Include a option for yay: yay -Syua --noconfirm in order to take into account packages from AUR
Include some new messages:
I just cant open it. I have every dependency that is needed for native and not native install. When i install it and open it with the app menu it doesnt show any window and just terminates itself.
Is there some way to make it work? Why is it not working in the firstplace? What info can I provide?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.