Linux GUI for cloning & restoring disk partitions to & from compressed image files, using partclone to do the heavy lifting.
- Arch: available on the AUR
- Ubuntu/Debian: .deb package available in releases
- Fedora: .rpm package available in releases
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.
- python >= 3.5
- python-gobject, GTK >= 3.22
- pyzmq, humanize, pyyaml
- polkit - for non-root usage
- apart-core
- zeromq > 4
- partclone
- pigz
- lz4 (optional: adds compression option)
- zstd >= 1.2.0 (optional: adds compression option)
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.