Linux GUI for cloning & restoring disk partitions to & from compressed image files, using partclone to do the heavy lifting.
If you have dependency issues, see the build sections for your distro. The GTK 3.22 requirement means you'll probably need a >= 2017 distro.
pacman -Syu --needed python python-gobject python-yaml python-pyzmq python-humanize gtk3 partclone zeromq rustup git pigz polkit lz4 zstd
Follow build steps below.
Build deps: apt install build-essential git libzmq3-dev curl pkg-config python3
+ rustup
Run deps: apt install policykit-1 partclone pigz python3-humanize python3-zmq python3-yaml libgtk-3-0 liblz4-tool zstd
Follow build steps below.
dnf install git zeromq-devel rust cargo python3-zmq python3-yaml python3-humanize pigz polkit gtk3 lz4 zstd
Install partclone, ie with something like
wget https://forensics.cert.org/fedora/cert/25/x86_64//partclone-0.2.90-1.fc25.x86_64.rpm
rpm -Uvh partclone-0.2.90-1.fc25.x86_64.rpm
Follow build steps below.
Run ./configure
then make
having installed the above build dependencies
After building run make install
which copies the build made in ./target to /usr
/usr
├─ bin
│ └─ apart-gtk
├─ lib/apart-gtk
│ ├─ apart-core
│ └─ src
│ ├─ app.py
│ └─ ... python files
└─ share
├─ applications/apart-gtk.desktop
├─ icons/hicolor/scalable/apps/apart.svg
├─ icons/hicolor/48x48/apps/apart.png
└─ polkit-1/actions/com.github.alexheretic.pkexec.apart-gtk.policy
make uninstall
can be used to remove these files
With the dev dependencies installed run ./start-test-app
to run from src/ a version of the code with
partclone & partition info mocked. This is useful for GUI development, as you can clone and restore without data risk.
Simply using ./start
will run against real disks using a dev version of apart-core useful when testing changes to the core.