X-Git-Url: https://arthur.barton.de/gitweb/?a=blobdiff_plain;f=README.md;h=62df1efc61ed8c52ec1803fb4ca5dc14d7e69834;hb=bfc3dcae269c689f7359be2f221aca96fd821328;hp=74d7324b404a0d4559bd8588d628a3dcc2c6140b;hpb=5a7fd007e89bb343ab2024d9a87d54bbee997bbf;p=bup.git diff --git a/README.md b/README.md index 74d7324..62df1ef 100644 --- a/README.md +++ b/README.md @@ -71,40 +71,52 @@ Reasons you might want to avoid bup for you, but we don't know why. It is also missing some probably-critical features. - - It requires python >= 2.5, a C compiler, and an installed git version >= - 1.5.3.1. + - It requires python >= 2.5, a C compiler, and an installed git + version >= 1.5.3.1. It also requires par2 if you want fsck to be + able to generate the information needed to recover from some types + of corruption. - - It currently only works on Linux, MacOS X >= 10.4, - NetBSD, Solaris, or Windows (with Cygwin). Patches to support - other platforms are welcome. + - It currently only works on Linux, FreeBSD, NetBSD, OS X >= 10.4, + Solaris, or Windows (with Cygwin). Patches to support other + platforms are welcome. - Any items in "Things that are stupid" below. - + +Notable changes introduced by a release +======================================= + + - Changes in 0.28.1 as compared to 0.28 + - Changes in 0.28 as compared to 0.27.1 + - Changes in 0.27.1 as compared to 0.27 + + Getting started =============== - From source ----------- - Check out the bup source code using git: - git clone git://github.com/bup/bup + git clone https://github.com/bup/bup - - Install the needed python libraries (including the development + - Install the required python libraries (including the development libraries). - On Debian/Ubuntu this is usually sufficient (run as root): + On very recent Debian/Ubuntu versions, this may be sufficient (run + as root): + + apt-get build-dep bup + + Otherwise try this (substitute python2.6-dev or python2.5-dev if + you have an older system): - apt-get install python2.6-dev python-fuse + apt-get install python2.7-dev python-fuse apt-get install python-pyxattr python-pylibacl apt-get install linux-libc-dev - - Substitute python2.5-dev if you have an older system. Alternately, - on newer Debian/Ubuntu versions, you can try this: - - apt-get build-dep bup + apt-get install acl attr + apt-get install python-tornado # optional On CentOS (for CentOS 6, at least), this should be sufficient (run as root): @@ -119,6 +131,11 @@ From source On Cygwin, install python, make, rsync, and gcc4. + If you would like to use the optional bup web server on systems + without a tornado package, you may want to try this: + + pip install tornado + - Build the python module and symlinks: make @@ -127,8 +144,13 @@ From source make test - (The tests should pass. If they don't pass for you, stop here and send - an email to bup-list@googlegroups.com.) + The tests should pass. If they don't pass for you, stop here and + send an email to bup-list@googlegroups.com. Though if there are + symbolic links along the current working directory path, the tests + may fail. Running something like this before "make test" should + sidestep the problem: + + cd "$(/bin/pwd)" - You can install bup via "make install", and override the default destination with DESTDIR and PREFIX. @@ -139,6 +161,12 @@ From source make install DESTDIR=/opt/bup PREFIX='' + - The Python executable that bup will use is chosen by ./configure, + which will search for a reasonable version unless PYTHON is set in + the environment, in which case, bup will use that path. You can + see which Python executable was chosen by looking at the + configure output, or examining cmd/python-cmd.sh, and you can + change the selection by re-running ./configure. From binary packages -------------------- @@ -152,6 +180,10 @@ Binary packages of bup are known to be built for the following OSes: - pkgsrc (NetBSD, Dragonfly, and others) http://pkgsrc.se/sysutils/bup http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/sysutils/bup/ + - Arch Linux: + https://www.archlinux.org/packages/?sort=&q=bup + - Fedora: + https://apps.fedoraproject.org/packages/bup Using bup @@ -203,14 +235,14 @@ Using bup bup restore -C ./dest-2 local-etc/2013-11-23-11195/etc - - Make a backup on a remote server (which must already have the 'bup' command - somewhere in the server's PATH (see /etc/profile, etc/environment, - ~/.profile, or ~/.bashrc), and be accessible via ssh. - Make sure to replace SERVERNAME with the actual hostname of your server): + - Make a backup to a remote server which must already have the 'bup' command + somewhere in its PATH (see /etc/profile, etc/environment, ~/.profile, or + ~/.bashrc), and be accessible via ssh. + Make sure to replace SERVERNAME with the actual hostname of your server: - ssh SERVERNAME bup init + bup init -r SERVERNAME:path/to/remote-bup-dir bup index /etc - bup save -r SERVERNAME: -n local-etc /etc + bup save -r SERVERNAME:path/to/remote-bup-dir -n local-etc /etc - Restore a backup from a remote server. (FAIL: unfortunately, unlike "bup join", "bup restore" does not yet support remote @@ -343,8 +375,8 @@ python. Basically, 'bup split' reads the data on stdin (or from files specified on the command line), breaks it into chunks using a rolling checksum (similar to -rsync), and saves those chunks into a new git packfile. There is one git -packfile per backup. +rsync), and saves those chunks into a new git packfile. There is at least one +git packfile per backup. When deciding whether to write a particular chunk into the new packfile, bup first checks all the other packfiles that exist to see if they already have that @@ -451,22 +483,20 @@ mailing list (see below) if you'd like to help. give the continuous-backup process a really low CPU and I/O priority so you wouldn't even know it was running. - - bup currently has no way to prune *old* backups. - - Because of the way the packfile system works, backups become "entangled" - in weird ways and it's not actually possible to delete one pack - (corresponding approximately to one backup) without risking screwing up - other backups. - - git itself has lots of ways of optimizing this sort of thing, but its - methods aren't really applicable here; bup packfiles are just too huge. - We'll have to do it in a totally different way. There are lots of - options. For now: make sure you've got lots of disk space :) + - bup only has experimental support for pruning old backups. - Until we fix this, one possible workaround is to just start a new - BUP_DIR occasionally, i.e. bup-2013-10, bup-2013-11... + While you should now be able to drop old saves and branches with + `bup rm`, and reclaim the space occupied by data that's no longer + needed by other backups with `bup gc`, these commands are + experimental, and should be handled with great care. See the + man pages for more information. - - bup has never been tested on anything but Linux, MacOS, and Windows+Cygwin. + Unless you want to help test the new commands, one possible + workaround is to just start a new BUP_DIR occasionally, + i.e. bup-2013, bup-2014... + + - bup has never been tested on anything but Linux, FreeBSD, NetBSD, + OS X, and Windows+Cygwin. There's nothing that makes it *inherently* non-portable, though, so that's mostly a matter of someone putting in some effort. (For a @@ -489,10 +519,9 @@ mailing list (see below) if you'd like to help. - bup has no GUI. - Actually, that's not stupid, but you might consider it a limitation. - There are a bunch of Linux GUI backup programs; someday I expect someone - will adapt one of them to use bup. - + Actually, that's not stupid, but you might consider it a + limitation. See the ["Related Projects"](https://bup.github.io/) + list for some possible options. More Documentation ==================