mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-11-07 15:36:20 -05:00
gnu: Add snapraid.
* gnu/packages/backup.scm (snapraid): New public variable.
This commit is contained in:
parent
4f4477a77e
commit
1d8bc46249
1 changed files with 60 additions and 0 deletions
|
@ -80,6 +80,7 @@ (define-module (gnu packages backup)
|
||||||
#:use-module (gnu packages rsync)
|
#:use-module (gnu packages rsync)
|
||||||
#:use-module (gnu packages ssh)
|
#:use-module (gnu packages ssh)
|
||||||
#:use-module (gnu packages tls)
|
#:use-module (gnu packages tls)
|
||||||
|
#:use-module (gnu packages valgrind)
|
||||||
#:use-module (gnu packages xml))
|
#:use-module (gnu packages xml))
|
||||||
|
|
||||||
(define-public duplicity
|
(define-public duplicity
|
||||||
|
@ -381,6 +382,65 @@ (define-public rdup
|
||||||
list and implement the backup strategy.")
|
list and implement the backup strategy.")
|
||||||
(license license:gpl3+)))
|
(license license:gpl3+)))
|
||||||
|
|
||||||
|
(define-public snapraid
|
||||||
|
(package
|
||||||
|
(name "snapraid")
|
||||||
|
(version "11.5")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/amadvance/snapraid")
|
||||||
|
(commit (string-append "v" version))))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
|
(sha256
|
||||||
|
(base32 "0dlhdsmq5l208zldfr9z9g0p67wry81dr0r23lpybb5c9fm2f2rm"))))
|
||||||
|
(build-system gnu-build-system)
|
||||||
|
(arguments
|
||||||
|
`(#:configure-flags
|
||||||
|
(list "--enable-valgrind"
|
||||||
|
"--with-blkid")
|
||||||
|
#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(add-before 'bootstrap 'set-version
|
||||||
|
(lambda _
|
||||||
|
(setenv "VERSION" ,version)
|
||||||
|
(patch-shebang "autover.sh"))))))
|
||||||
|
(native-inputs
|
||||||
|
`(("automake" ,automake)
|
||||||
|
("autoconf" ,autoconf)
|
||||||
|
|
||||||
|
;; For the tests.
|
||||||
|
("valgrind" ,valgrind)))
|
||||||
|
(inputs
|
||||||
|
`(("util-linux" ,util-linux "lib"))) ; libblkid
|
||||||
|
(home-page "https://www.snapraid.it/")
|
||||||
|
(synopsis "Efficient backups using parity snapshots across disk arrays")
|
||||||
|
(description
|
||||||
|
"SnapRAID backs up files stored across multiple storage devices, such as
|
||||||
|
disk arrays, in an efficient way reminiscent of its namesake @acronym{RAID,
|
||||||
|
Redundant Array of Independent Disks} level 4.
|
||||||
|
|
||||||
|
Instead of creating a complete copy of the data like classic backups do, it
|
||||||
|
saves space by calculating one or more sets of parity information that's a
|
||||||
|
fraction of the size. Each parity set is stored on an additional device the
|
||||||
|
size of the largest single storage volume, and protects against the loss of any
|
||||||
|
one device, up to a total of six. If more devices fail than there are parity
|
||||||
|
sets, (only) the files they contained are lost, not the entire array. Data
|
||||||
|
corruption by unreliable devices can also be detected and repaired.
|
||||||
|
|
||||||
|
SnapRAID is distinct from actual RAID in that it operates on files and creates
|
||||||
|
distinct snapshots only when run. It mainly targets large collections of big
|
||||||
|
files that rarely change, like home media centers. One disadvantage is that
|
||||||
|
@emph{all} data not in the latest snapshot may be lost if one device fails. An
|
||||||
|
advantage is that accidentally deleted files can be recovered, which is not the
|
||||||
|
case with RAID.
|
||||||
|
|
||||||
|
It's also more flexible than true RAID: devices can have different sizes and
|
||||||
|
more can be added without disturbing others. Devices that are not in use can
|
||||||
|
remain fully idle, saving power and producing less noise.")
|
||||||
|
(license license:gpl3+)))
|
||||||
|
|
||||||
(define-public btar
|
(define-public btar
|
||||||
(package
|
(package
|
||||||
(name "btar")
|
(name "btar")
|
||||||
|
|
Loading…
Reference in a new issue