https://github.com/alexheretic/apart-gtk
Linux GUI for cloning & restoring disk partitions to & from compressed image files
https://github.com/alexheretic/apart-gtk
backup gtk linux-gui partclone restore
Last synced: 5 days ago
JSON representation
Linux GUI for cloning & restoring disk partitions to & from compressed image files
- Host: GitHub
- URL: https://github.com/alexheretic/apart-gtk
- Owner: alexheretic
- License: gpl-3.0
- Created: 2017-04-19T15:47:06.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2025-03-23T22:41:45.000Z (about 1 month ago)
- Last Synced: 2025-04-04T08:02:08.117Z (26 days ago)
- Topics: backup, gtk, linux-gui, partclone, restore
- Language: Python
- Homepage:
- Size: 3.89 MB
- Stars: 70
- Watchers: 7
- Forks: 8
- Open Issues: 6
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
Apart GTK
=========
Linux GUI for cloning & restoring disk partitions to & from compressed image files, using [partclone](http://partclone.org) to do the heavy lifting.

## Install
* Arch: available on the [AUR](https://aur.archlinux.org/packages/apart-gtk)
* Ubuntu/Debian: .deb package available [in releases](https://github.com/alexheretic/apart-gtk/releases)
* Fedora: .rpm package available [in releases](https://github.com/alexheretic/apart-gtk/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.
## Dependencies
* python >= 3.5
* python-gobject, GTK >= 3.22
* pyzmq, humanize, pyyaml
* polkit - for non-root usage
* [apart-core](https://github.com/alexheretic/apart-core)
* zeromq >= 4.1
* util-linux >= 2.28.2
* partclone
* pigz
* lz4 *(optional: adds compression option)*
* zstd >= 1.2.0 *(optional: adds compression option)*## Build on Arch
`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 on Ubuntu >= 17.04
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.
## Build on Fedora >= 25
`dnf install git zeromq-devel rust cargo python3-zmq python3-yaml python3-humanize pigz polkit gtk3 lz4 zstd`Install partclone, ie with something like
```sh
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.
## Build
Run `make` having installed the above build dependencies## Manual Install
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
## Run in test mode
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](https://github.com/alexheretic/apart-core) useful when testing changes to the core.