Pardus Linux için sistem durumu yöneticisi / System state manager for Pardus Linux
RollbackX, Pardus ve diğer Debian tabanlı dağıtımlar için geliştirilmiş açık kaynaklı bir sistem durum yöneticisidir. Btrfs, LVM Thin ve Rsync depolama altyapılarını destekler; sistem yapılandırmasını otomatik algılayarak en uygun altyapıyı seçer.
# 1. Paketi indir
wget https://github.com/selmancuzdan42/rollbacktx/releases/latest/download/rollbackx_1.0.0_amd64.deb
# 2. Kur
sudo dpkg -i rollbackx_1.0.0_amd64.debTüm sürümler için → Releases
- Çok altyapı desteği — Btrfs, LVM Thin Provisioning ve Rsync (ext4 dahil tüm dosya sistemleri)
- Otomatik altyapı seçimi — Btrfs → LVM Thin → Rsync öncelik sırasıyla algılama
- APT entegrasyonu — Her
apt install/upgrade/removeişlemi öncesi otomatik durum kaydı - GRUB menüsü entegrasyonu — Kayıtlı durumlardan doğrudan önyükleme
- GTK4 / libadwaita arayüzü — Modern, GNOME HIG uyumlu masaüstü uygulaması
- CLI — Türkçe/İngilizce çıktı (
ROLLBACKX_LANG=en) - Rol tabanlı yetki modeli — Admin / Öğretmen / Öğrenci modu (eğitim ortamları için)
- Durum doğrulama — Kritik sistem dosyalarının bütünlük kontrolü
- Dışa/içe aktarım —
.rxsnapformatı ile arşivleme - systemd entegrasyonu — Açılışta otomatik yükleme, zamanlanmış kayıt
- Kilit mekanizması — Kritik kayıtların yanlışlıkla silinmesini önler
# Yeni kayıt oluştur
sudo rollbackx snapshot create "güncelleme-öncesi"
# Kayıt listesi
rollbackx snapshot list
# Kayda dön (reboot gerektirir)
sudo rollbackx snapshot restore 3
# Sistem durumu
rollbackx durum
# Sistem kontrolü
rollbackx kontrol
# Kaydı doğrula
sudo rollbackx snapshot verify 3
# Kaydı dışa aktar
sudo rollbackx arsiv export 3 yedek.rxsnap
# İngilizce çıktı
ROLLBACKX_LANG=en rollbackx snapshot listrollbackx-gtkYönetici işlemleri otomatik olarak pkexec aracılığıyla yetkilendirilir; GTK uygulamasını root olarak çalıştırmaya gerek yoktur.
Proje 4 Cargo crate'inden oluşan bir Rust workspace olarak yapılandırılmıştır:
rollbackx/
├── crates/
│ ├── rollbackx-core # İş mantığı: altyapılar, DB, hata türleri
│ ├── rollbackx-cli # CLI binary (clap v4)
│ └── rollbackx-gtk # GTK4/libadwaita masaüstü uygulaması
└── tests/ # Entegrasyon testleri (loop device)
| Öncelik | Altyapı | Konum | Gereksinim |
|---|---|---|---|
| 1 | Btrfs | /.snapshots/@{id}_{name}_{ts} |
Btrfs FS, btrfs-tools |
| 2 | LVM Thin | LV: rx_{id}_{name} |
LVM Thin pool, lvm2 |
| 3 | Rsync | /var/lib/rollbackx/snapshots/ |
rsync (evrensel) |
| Bileşen | Açıklama |
|---|---|
apt-hook/80rollbackx |
Her APT işlemi öncesi otomatik kayıt |
rollbackx-restore.service |
Açılışta otomatik yükleme |
rollbackx-cmdline.service |
GRUB kernel parametresi ile yükleme |
rollbackx-schedule.timer |
Periyodik otomatik kayıt |
grub.d/80_rollbackx |
Kayıtları GRUB menüsüne ekler |
polkit/org.rollbackx.policy |
pkexec yetkilendirme politikası |
- Bu repoyu fork edin
- Feature branch oluşturun (
git checkout -b ozellik/yeni-ozellik) - Değişikliklerinizi commit edin (
git commit -m 'feat: yeni özellik ekle') - Branch'i push edin (
git push origin ozellik/yeni-ozellik) - Pull Request açın
Bu proje GNU General Public License v3.0 ile lisanslanmıştır.
Geliştirici: Selman F. CÜZDAN GitHub: @selmancuzdan42
RollbackX is an open-source system state manager for Pardus and other Debian-based distributions. It supports Btrfs, LVM Thin, and Rsync storage backends, automatically detecting the system configuration and selecting the most appropriate backend.
# 1. Download the package
wget https://github.com/selmancuzdan42/rollbacktx/releases/latest/download/rollbackx_1.0.0_amd64.deb
# 2. Install
sudo dpkg -i rollbackx_1.0.0_amd64.debFor all releases → Releases
- Multi-backend support — Btrfs, LVM Thin Provisioning, and Rsync (all filesystems including ext4)
- Automatic backend detection — Priority order: Btrfs → LVM Thin → Rsync
- APT integration — Automatic snapshot before every
apt install/upgrade/remove - GRUB menu integration — Boot directly from any saved snapshot
- GTK4 / libadwaita interface — Modern, GNOME HIG-compliant desktop application
- CLI — Turkish/English output (
ROLLBACKX_LANG=en) - Role-based access control — Admin / Teacher / Student mode (for educational environments)
- Snapshot verification — Integrity check of critical system files
- Export/import — Archiving with
.rxsnapformat - systemd integration — Automatic restore on boot, scheduled snapshots
- Lock mechanism — Prevents accidental deletion of critical snapshots
# Create a new snapshot
sudo rollbackx snapshot create "before-update"
# List snapshots
rollbackx snapshot list
# Restore a snapshot (requires reboot)
sudo rollbackx snapshot restore 3
# System status
rollbackx durum
# System check
rollbackx kontrol
# Verify a snapshot
sudo rollbackx snapshot verify 3
# Export a snapshot
sudo rollbackx arsiv export 3 backup.rxsnap
# English output
ROLLBACKX_LANG=en rollbackx snapshot listrollbackx-gtkAdministrative operations are automatically authorized via pkexec; there is no need to run the GTK application as root.
The project is structured as a Rust workspace consisting of 4 Cargo crates:
rollbackx/
├── crates/
│ ├── rollbackx-core # Business logic: backends, DB, error types
│ ├── rollbackx-cli # CLI binary (clap v4)
│ └── rollbackx-gtk # GTK4/libadwaita desktop application
└── tests/ # Integration tests (loop device)
| Priority | Backend | Location | Requirement |
|---|---|---|---|
| 1 | Btrfs | /.snapshots/@{id}_{name}_{ts} |
Btrfs FS, btrfs-tools |
| 2 | LVM Thin | LV: rx_{id}_{name} |
LVM Thin pool, lvm2 |
| 3 | Rsync | /var/lib/rollbackx/snapshots/ |
rsync (universal) |
| Component | Description |
|---|---|
apt-hook/80rollbackx |
Automatic snapshot before every APT operation |
rollbackx-restore.service |
Automatic restore on boot |
rollbackx-cmdline.service |
Restore via GRUB kernel parameter |
rollbackx-schedule.timer |
Periodic automatic snapshots |
grub.d/80_rollbackx |
Adds snapshots to GRUB menu |
polkit/org.rollbackx.policy |
pkexec authorization policy |
- Fork this repository
- Create a feature branch (
git checkout -b feature/new-feature) - Commit your changes (
git commit -m 'feat: add new feature') - Push the branch (
git push origin feature/new-feature) - Open a Pull Request
This project is licensed under the GNU General Public License v3.0.
Developer: Selman F. CÜZDAN GitHub: @selmancuzdan42







