Package name: moraine Version: 0.1.1 Upstream Author: Jonaz Thern info@thern.io URL: https://github.com/TheJonaz/moraine-backup License: MIT Programming Lang: Rust Description: snapshot backup over SSH/rsync and rclone Moraine creates timestamped, hard-linked snapshots: each backup run looks like a complete tree, but unchanged files share disk via hard links, so history costs almost nothing. It restores individual files or whole trees, prunes old snapshots with a GFS retention policy, and keeps a run log. Backends: rsync over SSH, and rclone (cloud, SFTP, SMB, WebDAV, S3, ...). The package provides both the command-line client (moraine) and the GTK 4 desktop application (moraine-gui), built from one source against Debian's GTK 4 crates. I am the upstream author and intend to maintain the Debian package, ideally within the Debian Rust Maintainers team. I will need a sponsor for the initial upload.
Hi Jonaz, Given the licensing uncertainty of code output by LLMs, I'm not sure vibe-coded software is ready to be accepted in Debian. Please expect some resistence :) Bye!
Hello, can you explain what is the advantage of using this over a 2 lines script like this? cp -ral directory "snapshot-$(date)" rsync/rclone directory Best Il giorno mar 30 giu 2026 alle ore 07:38 Thern AI Solutions <info@thern.io> ha scritto:
Hello, can you explain what is the advantage of using this over a 2 lines script like this? cp -ral directory "snapshot-$(date)" rsync/rclone directory Best Il giorno mar 30 giu 2026 alle ore 07:38 Thern AI Solutions <info@thern.io> ha scritto:
Hi Mr/Ms/Msr Tomaselli, and thanks! That's a fair question, and you're right that the core idea is genuinely that simple. Hard-linked snapshots are a well-working trick, and for a single local directory your two lines capture the essence of it. What Moraine adds is everything around that kernel that turns it into a robust, general-purpose tool rather than a personal script: Remote-first. cp -ral is local-only. The common backup case is a remote NAS/server, so Moraine uses rsync --link-dest=../latest over SSH. The hard-linking happens on the destination in a single pass, with no full-tree pre-copy and no separate ssh cp -ral step. It also updates the latest symlink atomically so an interrupted run can't leave a half-built snapshot referenced. Retention/pruning (GFS). Snapshots otherwise grow without bound. Moraine keeps N latest plus newest-per-day/week/month and auto-prunes after a successful run. Restore. Browsing a snapshot's tree and pulling back individual files or whole trees to the client, never touching the destination. The two-liner leaves you to do that by hand. A second backend. Besides rsync/SSH it drives rclone (SFTP, SMB, WebDAV, S3, cloud), where --link-dest doesn't exist and you instead need server-side --copy-dest with capability detection. "rsync/rclone" hides a real difference in how snapshotting has to work. The boring-but-important bits: declarative config with multiple targets and validation; a pre-flight check (key, connection, dest writable) before anything runs; a run log; correct exit codes; exclude patterns; SSH key-passphrase handling; crontab Windows Task Scheduler generation; and a GTK desktop app for people who don't live in a terminal. So the honest framing is: the snapshot mechanism is a few lines, but a packaged tool is the part that makes it safe, remote, prunable, restorable and usable by non-experts. Happy to trim the scope if you feel a piece doesn't belong in the initial upload. Thanks again for the review, Jonaz
Hi Mr/Ms/Msr Tomaselli, and thanks! That's a fair question, and you're right that the core idea is genuinely that simple. Hard-linked snapshots are a well-working trick, and for a single local directory your two lines capture the essence of it. What Moraine adds is everything around that kernel that turns it into a robust, general-purpose tool rather than a personal script: Remote-first. cp -ral is local-only. The common backup case is a remote NAS/server, so Moraine uses rsync --link-dest=../latest over SSH. The hard-linking happens on the destination in a single pass, with no full-tree pre-copy and no separate ssh cp -ral step. It also updates the latest symlink atomically so an interrupted run can't leave a half-built snapshot referenced. Retention/pruning (GFS). Snapshots otherwise grow without bound. Moraine keeps N latest plus newest-per-day/week/month and auto-prunes after a successful run. Restore. Browsing a snapshot's tree and pulling back individual files or whole trees to the client, never touching the destination. The two-liner leaves you to do that by hand. A second backend. Besides rsync/SSH it drives rclone (SFTP, SMB, WebDAV, S3, cloud), where --link-dest doesn't exist and you instead need server-side --copy-dest with capability detection. "rsync/rclone" hides a real difference in how snapshotting has to work. The boring-but-important bits: declarative config with multiple targets and validation; a pre-flight check (key, connection, dest writable) before anything runs; a run log; correct exit codes; exclude patterns; SSH key-passphrase handling; crontab Windows Task Scheduler generation; and a GTK desktop app for people who don't live in a terminal. So the honest framing is: the snapshot mechanism is a few lines, but a packaged tool is the part that makes it safe, remote, prunable, restorable and usable by non-experts. Happy to trim the scope if you feel a piece doesn't belong in the initial upload. Thanks again for the review, Jonaz