index.rst 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. Welcome to Darc's documentation!
  2. ================================
  3. Darc is a Deduplicating ARChiver written in Python.
  4. The main goal of Darc is to provide an efficient and secure way to backup data.
  5. Features
  6. --------
  7. Space efficient storage
  8. Variable block size `deduplication <http://en.wikipedia.org/wiki/Data_deduplication>`_
  9. is used to reduce the number of bytes stored by detecting redundant data.
  10. Each file is split into a number of variable length chunks and only chunks
  11. that have never been seen before are added to the store.
  12. Secure
  13. All data is encrypted using `AES256 <http://en.wikipedia.org/wiki/Advanced_Encryption_Standard>`_
  14. and the data integrity and authenticity is verified using
  15. `HMAC-SHA256 <http://en.wikipedia.org/wiki/HMAC>`_.
  16. Definitions
  17. -----------
  18. Deduplication
  19. Deduplication is a technique for improving storage utilization by eliminating
  20. redundant data.
  21. Archive
  22. A Darc archive is a collection of files along with metadata that include file
  23. permissions, directory structure and various file attributes.
  24. Store
  25. A Darc store is a filesystem directory storing data from zero or more archives.
  26. The data in a store is both deduplicated and encrypted making it both
  27. efficient and safe.
  28. Key file
  29. When a Darc store is initialized a key file containing a password protected
  30. encryption key is created. It is vital to keep this file safe since the store
  31. data is totally inaccessible without it.
  32. Requirements
  33. ------------
  34. * Python >= 2.5
  35. * pycrypto
  36. * msgpack-python
  37. * paramiko (for remote store support)
  38. Installation
  39. ------------
  40. Usage
  41. -----
  42. Before the first archive can be created a store needs to be initialized.
  43. A store is directory containing
  44. Initialize a new empty store::
  45. $ darc init /data/my-backup.darc
  46. Initializing store "/data/my-backup.darc"
  47. Key file password (Leave blank for no password): *****
  48. Key file password again: *****
  49. Key file "/Users/jonas/.darc/keys/data_my_backup_darc" created.
  50. Remember that this file (and password) is needed to access your data. Keep it safe!
  51. Create an archive::
  52. darc create -v /data/my-backup.darc::backup-2011-09-10 ~/Documents ~/src
  53. Extract an archive::
  54. darc extract -v /data/my-backup.darc::backup-2011-09-10
  55. Delete an archive::
  56. darc delete /data/my-backup.darc::backup-2011-09-10
  57. List store contents::
  58. darc list /data/my-backup.darc
  59. List archive contents::
  60. darc list /data/my-backup.darc::backup-2011-09-10
  61. Indices and tables
  62. ==================
  63. * :ref:`genindex`
  64. * :ref:`search`