Documentation

From duply (simple duplicity) - a duplicity shell frontend
Revision as of 14:12, 15 June 2020 by Edso (talk | contribs) (→‎Manpage)
Jump to navigation Jump to search

Installation

REQUIREMENTS

duply needs duplicity. Install it or duply will be of no use for you.
Most distributions have readymade packages available. I suggest _not_ to use
these, because they generally lack behind duplicity development. If you 
encounter errors using the distro's duplicity please doublecheck if the 
version is outdated on http://duplicity.us or http://duplicity.gitlab.io .
If so please try using the latest stable from the website before filing 
bug reports or complaining in the mailing list.
If you install duplicity from the website's tarball check chapter 
"Requirements" on the mainpage first.


INSTALLATION

1. for convenience copy the file 'duply' somewhere into your path e.g. /bin 
   or simply use it from anywhere in your file system
2. doublecheck if the executable permission bits are set for all parties meant 
   to use duply e.g. 'ls -la /path/to/duply'
3. run 'duply usage' to get usage help


TIPS

INSTALL MULTIPLE VERSIONS

Sometimes a new version of duplicity has bugs. The default setup routine is not
designed to install multiple versions of duplicity in parallel. But doing this 
would allow you to go back to your working version of duplicity anytime. Here is
how I do it. Change version and prefix to your preference.

# install needed packages first
python python-devel librsync-devel
# download & extract
wget http://.../duplicity-0.6.07.tar.gz
tar xvf duplicity-0.6.07.tar.gz
cd duplicity-0.6.07/
# install into PREFIX
PREFIX=~/_apps/duplicity-0.6.07
python setup.py install --prefix="$PREFIX" --install-lib="$PREFIX"
# NOTE: 0.6.17 to 25 do not need the next step, 0.6.25 and newer do again 
# patch executable to find libs in PREFIX
awk '1;/import.*[ ,]+sys/{print "sys.path.insert(1,sys.path[0] + \47/../\47)"}' \
"$PREFIX/bin/duplicity" > "$PREFIX/bin/duplicity_mod" && \
chmod 755 "$PREFIX/bin/duplicity_mod" && \
mv "$PREFIX/bin/duplicity_mod" "$PREFIX/bin/duplicity"

If this works flawlessly than you will find the duplicity executable under
$PREFIX/bin/duplicity

ADD LOCAL DUPLY/DUPLICITY TO SYSTEM PATH

First make sure '/usr/local/bin' is in your PATH env var.
To change the systemwide used duplicity don't symlink it! It won't find it's 
script file structure it depends on then. Rather hack short wrapper like

/usr/local/bin/duply
-->
#!/bin/bash
DUPLY=/path/to/duply.sh
#DUPLY=~user/release/duply_1.5.2.3/duply
PATH=~user/path/to/duplicity-0.6.18/bin:$PATH
"$DUPLY" "$@"
<--

This way you can easily juggle with versions and stay up to date but have duply
in the path.
Alternatively you can of course simply add it to the systemwide PATH variable or
use only a duplicity wrapper like

/usr/local/bin/duplicity
-->
#!/bin/bash
PATH=~user/path/to/duplicity-0.6.18/bin:$PATH
duplicity "$@"
<--

UNINSTALL DUPLICITY

python setup.py install --record files.txt
cat files.txt | xargs rm -rf

Manpage

<include src="tmp/usage"/ nocache>