1.5.3.1.
- It currently only works on Linux, MacOS X >= 10.4,
- Solaris, or Windows (with Cygwin). Patches to support
+ NetBSD, Solaris, or Windows (with Cygwin). Patches to support
other platforms are welcome.
Getting started
----------------
+===============
+
+
+From source
+-----------
- Check out the bup source code using git:
git clone git://github.com/apenwarr/bup
- Install the needed python libraries (including the development
- libraries). On Debian or Ubuntu, this is usually:
- apt-get install python2.6-dev python-fuse
- apt-get install python-pyxattr python-pylibacl
-
- Substitute python2.5-dev or python2.4-dev if you have an older system.
-
- Or on newer Debian/Ubuntu versions, you can try this:
+ libraries).
+
+ On Debian/Ubuntu this is usually sufficient (run as root):
+
+ apt-get install python2.6-dev python-fuse
+ apt-get install python-pyxattr python-pylibacl
+ apt-get install linux-libc-dev
+
+ Substitute python2.5-dev or python2.4-dev if you have an older
+ system. Alternately, on newer Debian/Ubuntu versions, you can try
+ this:
- apt-get build-dep bup
-
+ apt-get build-dep bup
+
+ On CentOS (for CentOS 6, at least), this should be sufficient (run
+ as root):
+
+ yum groupinstall "Development Tools"
+ yum install python python-dev
+ yum install fuse-python pyxattr pylibacl
+ yum install perl-Time-HiRes
+
+ In addition to the default CentOS repositories, you may need to add
+ RPMForge (for fuse-python) and EPEL (for pyxattr and pylibacl).
+
- Build the python module and symlinks:
-
+
make
- Run the tests:
(The tests should pass. If they don't pass for you, stop here and send
me an email.)
-
+
+ - You can install bup via "make install", and override the default
+ destination with DESTDIR and PREFIX.
+
+ Files are normally installed to "$DESTDIR/$PREFIX" where DESTDIR is
+ empty by default, and PREFIX is set to /usr. So if you wanted to
+ install bup to /opt/bup, you might do something like this:
+
+ make install DESTDIR=/opt/bup PREFIX=''
+
+
+From binary packages
+--------------------
+
+Binary packages of bup are known to be built for the following OSes:
+
+ - Debian:
+ http://packages.debian.org/search?searchon=names&keywords=bup
+ - Ubuntu:
+ http://packages.ubuntu.com/search?searchon=names&keywords=bup
+ - pkgsrc (NetBSD, Dragonfly, and others)
+ http://pkgsrc.se/sysutils/bup
+ http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/sysutils/bup/
+
+
+Using bup
+---------
+
- Try making a local backup as a tar file:
tar -cvf - /etc | bup split -n local-etc -vv
Notes on FreeBSD
-================
+----------------
- FreeBSD's default 'make' command doesn't like bup's Makefile. In order to
compile the code, run tests and install bup, you need to install GNU Make
the port named 'hs-pandoc' in the 'textproc' section.
+Notes on NetBSD/pkgsrc
+----------------------
+
+ - See pkgsrc/sysutils/bup, which should be the most recent stable
+ release and includes man pages. It also has a reasonable set of
+ dependencies (git, par2, py-fuse-bindings).
+
+ - The "fuse-python" package referred to is hard to locate, and is a
+ separate tarball for the python language binding distributed by the
+ fuse project on sourceforge. It is available as
+ pkgsrc/filesystems/py-fuse-bindings and on NetBSD 5, "bup fuse"
+ works with it.
+
+ - "bup fuse" presents every directory/file as inode 0. The directory
+ traversal code ("fts") in NetBSD's libc will interpret this as a
+ cycle and error out, so "ls -R" and "find" will not work.
+
+ - It is not clear if extended attribute and POSIX acl support does
+ anything useful.
+
+
How it works
-------------
+============
Basic storage:
Help with any of these problems, or others, is very welcome. Join the
mailing list (see below) if you'd like to help.
- - 'bup save' and 'bup restore' don't know about file metadata.
+ - 'bup save' and 'bup restore' have immature metadata support.
- That means we aren't saving file attributes, mtimes, ownership, hard
- links, MacOS resource forks, etc. Clearly this needs to be improved.
+ On the plus side, they actually do have support now, but it's new,
+ and not remotely as well tested as tar/rsync/whatever's. If you'd
+ like to help test, please do; something like 'rsync -niaHAX src/
+ restore/' may be useful on that front.
+
+ In addition, at the moment, if any strip or graft-style options
+ are specified to 'bup save', then no metadata will be written for
+ the root directory. That's obviously less than ideal.
- 'bup index' is slower than it should be.
started, or use 'bup help SUBCOMMAND' for any bup subcommand (like split,
join, index, save, etc.) to get details on that command.
+For further technical details, please see ./DESIGN.
+
How you can help
-----------------
+================
bup is a work in progress and there are many ways it can still be improved.
If you'd like to contribute patches, ideas, or bug reports, please join the
bup-list+subscribe@googlegroups.com
+Please see <a href="bup/HACKING">./HACKING</a> for additional
+information, i.e. how to submit patches (hint - no pull requests), how
+we handle branches, etc.
+
+
Have fun,
Avery