<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>damontimm.com &#187; leopard</title>
	<atom:link href="http://blog.damontimm.com/tag/leopard/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.damontimm.com</link>
	<description>Where I go to remember what I did</description>
	<lastBuildDate>Fri, 16 Jul 2010 18:51:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>How To: Automated Encrypted Incremental Backups on Amazon S3 with Duplicity (OS X or Ubuntu)</title>
		<link>http://blog.damontimm.com/how-to-automated-secure-encrypted-incremental-backups-amazon-s3-duplicity-os-x-or-ubuntu/</link>
		<comments>http://blog.damontimm.com/how-to-automated-secure-encrypted-incremental-backups-amazon-s3-duplicity-os-x-or-ubuntu/#comments</comments>
		<pubDate>Mon, 24 Nov 2008 22:26:46 +0000</pubDate>
		<dc:creator>Damon</dc:creator>
				<category><![CDATA[how to]]></category>
		<category><![CDATA[amazon s3]]></category>
		<category><![CDATA[duplicity]]></category>
		<category><![CDATA[gpg]]></category>
		<category><![CDATA[leopard]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[macports]]></category>
		<category><![CDATA[port]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.damontimm.com/?p=107</guid>
		<description><![CDATA[Purpose: setup an automatic encrypted off-site backup system that utilizes Amazon S3 with incremental backups by duplicity on the Mac (Leopard) or Ubuntu. Currently, I do have my own on-site backup system in place (nightly backups via rsync to external hard drive), but I am wary that some day my house may explode and I&#8217;ll [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Purpose:</strong> setup an automatic encrypted off-site backup system that utilizes Amazon S3 with incremental backups by <a href="http://duplicity.nongnu.org/">duplicity</a> on the Mac (Leopard) or Ubuntu. Currently, I do have my own on-site backup system in place (nightly backups via rsync to external hard drive), but I am wary that some day my house may explode and I&#8217;ll have nothing left. Enter my new friend: the encrypted off-site backup.</p>
<p><span id="more-107"></span></p>
<h2>before you begin</h2>
<p>Before you can start backing things up off-site in a secure fashion, you&#8217;ll need to get a few pieces of the puzzle in place. Namely, you&#8217;ll need software installed (duplicity), a GPG key (for encryption), and an <a href="http://aws.amazon.com/s3/">Amazon S3 </a>account setup (for storage), and then use <a href="http://blog.damontimm.com/bash-script-incremental-encrypted-backups-duplicity-amazon-s3/">a backup script</a> that can be run automatically (for laziness&#8217;s sake!).</p>
<p>Getting an Amazon S3 account is easy to do: head over to <a href="http://aws.amazon.com/s3/">http://aws.amazon.com/s3/</a> and sign up; grab your &#8220;Access Key ID&#8221; and &#8220;Secret Access Key&#8221; and you are ready to go. There is a lot you can do with S3 (and a lot of ways to access it), but for our purposes, this is pretty much all you need.</p>
<p>Lastly, I would recommend spending a little time reading about duplicity (<a href="http://duplicity.nongnu.org/duplicity.1.html">see the man page</a>) as well as GnuPG (<a href="http://gnupg.org/documentation/manuals/gnupg/">man page</a>). There is a lot to consider, and I just picked the options I thought would work best for me.</p>
<h2>Install the Software: Duplicity</h2>
<p>For this to work we need duplicity installed with all the correct dependencies. The easiest way to do this on your Mac is to simply use <a href="http://www.macports.org/">MacPorts</a>, which has an up-to-date version in the repositories (<em>see</em> <a href="http://http://blog.damontimm.com/how-to-install-macports-on-os-x-leopard-105/">Installing MacPorts</a> if you don&#8217;t have it installed already). If you already have MacPorts installed, all you should have to do is run the following from the Terminal:</p>
<ul class="terminal">
<li><code>$ sudo port install duplicity py25-socket-ssl py25-boto</code></li>
</ul>
<p>If you are using Ubuntu, you could simply run <code>sudo aptitude install duplicity</code> to install the program (it is in the repositories); however, if you want to make sure you are using the <a href="http://savannah.nongnu.org/download/duplicity/" target="_blank">latest version</a> (which may not be available there yet), you can try this:</p>
<ul class="terminal">
<li><code>$ sudo apt-get build-dep duplicity</code></li>
<li><code>$ sudo aptitude install python-boto ncftp </code></li>
<li><code>$ wget http://savannah.nongnu.org/download/duplicity/duplicity-0.5.07.tar.gz</code></li>
<li><code>$ tar xvzf duplicity-0.5.07.tar.gz</code></li>
<li><code>$ cd duplicity-0.5.07/</code></li>
<li><code>$ sudo python setup.py install</code></li>
</ul>
<p>If you ever want to upgrade again, just download and untar the latest version and run the last setup line again.  It will install the newest version for you.</p>
<p>If everything has installed correctly, you can do a test run pretty easily on your local machine by backing up a folder to another local folder (first command) and then restoring it to a different folder (second command). If you look inside this <code>/test/backup-location/</code> you&#8217;ll see what duplicity looks like:</p>
<ul class="terminal">
<li><code>$ duplicity --no-encryption /test/folder/ file:///test/backup-location/</code></li>
<li><code>$ duplicity --no-encryption file:///test/backup-location/ /test/restore-location/</code></li>
</ul>
<h2>Setting Up Encryption</h2>
<p>For duplicity to really shine, it needs to have a gpg key to encrypt your files. If you don&#8217;t already have one, you can create it by running the following (read the <a href="http://www.gnupg.org/gph/en/manual.html#AEN26">documentation</a> for more information):</p>
<ul class="terminal">
<li><code>$ gpg --gen-key</code></li>
</ul>
<p>I used all the defaults when setting up my key and chose my own passphrase. Unfortunately, in order to make this work without user input (as an automatic cron job), the passphrase is going to have to be stored somewhere on your computer locally, so, I wouldn&#8217;t use one of your usual passwords (something really long and unique would be better).  Also, if you <em>already</em> have a gpg key (or want to use one for other purposes), I would recommend making a <em>different</em> one for the Amazon S3 backups &#8212; because, in the end, your password has to be stored somewhere on your computer for it to work auto-<em>magically</em>.</p>
<p>Once you have your gpg key created you can check it out by running:</p>
<ul class="terminal">
<li><code>$ gpg --list-keys</code></li>
</ul>
<p>This shows your new key, which probably looks something like this:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">pub   1024D/CA4ZA320 2008-11-15
uid                  Damon Timm (thornomad) email@example.com
sub   2048g/C1E64A4F 2008-11-15</pre></div></div>

<p>Note the public key identifier &#8220;CA4FA320&#8243; (yours will be different); we will need that to go in our script.</p>
<h2>final step: using a backup script</h2>
<p>So, everything is on your system and, hopefully, working.  Now, to run a backup takes a lot of typing (on the command line) and the easiest way to avoid this chore is to run a backup script.  A script can store your Amazon and GPG key information and make it so you don&#8217;t have to type anything ever again!</p>
<p>Backing things up is a very personal task, and everyone is going to want to do it a little differently.  I created <a href="http://blog.damontimm.com/bash-script-incremental-encrypted-backups-duplicity-amazon-s3/">my own backup script</a> which you are happy to check out &#8212; if you have any neat features you add to suggestions, I would love to hear them and incorporate them.</p>
<p>Good luck!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.damontimm.com/how-to-automated-secure-encrypted-incremental-backups-amazon-s3-duplicity-os-x-or-ubuntu/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>How to: Install Netatalk (AFP) on Ubuntu with Encrypted Authentication</title>
		<link>http://blog.damontimm.com/how-to-install-netatalk-afp-on-ubuntu-with-encrypted-authentication/</link>
		<comments>http://blog.damontimm.com/how-to-install-netatalk-afp-on-ubuntu-with-encrypted-authentication/#comments</comments>
		<pubDate>Sun, 08 Apr 2007 20:42:02 +0000</pubDate>
		<dc:creator>Damon</dc:creator>
				<category><![CDATA[how to]]></category>
		<category><![CDATA[afp]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[leopard]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[netatalk]]></category>
		<category><![CDATA[tiger]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.damontimm.com/blog/how-to-install-netatalk-afp-on-ubuntu-with-encrypted-authentication/</guid>
		<description><![CDATA[Purpose: Install Netatalk (AFP) on Ubuntu with encrypted authentication (using OpenSSL), which is not enabled by default with the Ubuntu netatalk package. By default, the package installed from the Ubuntu universal repositories will transmit your password via clear text (you&#8217;ll know this because Mac OS X Tiger will throw a warning and Leopard won&#8217;t do [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Purpose:</strong> Install <a href="http://netatalk.sourceforge.net">Netatalk</a> (AFP) on Ubuntu with encrypted authentication (using OpenSSL), which is not enabled by default with the Ubuntu netatalk package.  By default, the package installed from the Ubuntu universal repositories will transmit your password via clear text (you&#8217;ll know this because Mac OS X Tiger will throw a warning and Leopard won&#8217;t do anything useful at all).</p>
<p><span id="more-36"></span></p>
<p>This is because, apparently, <a href="http://it.slashdot.org/comments.pl?sid=180016&amp;cid=14905489">OpenSSL has a license that is incompatible with Debian&#8217;s GPL</a>.  Regardless: clear text is bad; encryption is good.  And since Ubuntu doesn&#8217;t package netatalk with the appropriate encryption support, one must do it oneself.</p>
<p><em>Updated 05.08.09: Just tested this with Jaunty (09.04) and the package in the repositories works with no extra steps.  If you are using an older version of Ubuntu, however, you will want to follow these instructions.  Tested with Intrepid Ibex (8.10) as well as: 6.06, 7.04, 7.10, and 8.06.</em></p>
<h2>about this guide</h2>
<p>When I first found that Ubuntu&#8217;s netatalk package didn&#8217;t support encrypted authentication, I tried to compile netatalk from the source.  I didn&#8217;t get very far.  Throwing up my hands in frustration, I spent some more time on google and <a href="http://ubuntuforums.org/showthread.php?t=101823&amp;page=2">found some ideas at the Ubuntu Forums</a>.  Pulling it all together, with ideas and fixes from comments (below), this is what I came up with (which I think is a lot easier than building from source).</p>
<h2>steps to follow</h2>
<p><em>NOTE:</em> If you have already installed netatalk you should remove it before proceeding with a <code>sudo aptitude purge netatalk</code> before you get going.</p>
<ul class="terminal">
<li><code>sudo aptitude update</code></li>
<li><code>mkdir -p ~/src/netatalk</code></li>
<li><code>cd ~/src/netatalk</code></li>
<li><code>sudo aptitude install cracklib2-dev libssl-dev</code></li>
<li><code>apt-get source netatalk</code></li>
<li><code>sudo apt-get build-dep netatalk</code></li>
<li><code>cd netatalk-2.0.3</code></li>
<li><code>sudo DEB_BUILD_OPTIONS=ssl dpkg-buildpackage -us -uc</code></li>
<li><code>sudo debi</code></li>
<li><code>echo "netatalk hold" | sudo dpkg --set-selections</code></li>
</ul>
<p>The basic trend of this set of operations is to: create a directory where all the messy files can be stored, download necessary packages, get the netatalk source, compile the source with the ssl option, install the package, then tell Ubuntu never to update the package (because if it did, it would break).</p>
<p>Settings for the netatalk service can be found on your Ubuntu machine at <code>/etc/netatalk/</code>.  There are a couple configuration files in there with instructions.  Good luck.</p>
<h2>configuration files</h2>
<p>One of the first changes I make after installing netatalk is to disable some of the services that I don&#8217;t need running (and start those that I do).  To do this, I edit: <code>/etc/default/netatalk</code>, changing  the daemons that run so that it ends up looking like this (which allows netatlk to restart a lot quicker without the atalkd daemon &#8212; which is a holdover from pre-OS X times):</p>
<pre class="brush: text;"># Set which daemons to run (papd is dependent upon atalkd):
ATALKD_RUN=no
PAPD_RUN=no
CNID_METAD_RUN=no
AFPD_RUN=yes
TIMELORD_RUN=no
A2BOOT_RUN=no</pre>
<p>These are the settings I am using since I only need the afp file server &#8212; one thing to note, however, is that if you want to use the <strong>dbd</strong> databashe scheme rather than <strong>cdb</strong>, you need to set <code>CNID_METAD_RUN</code> to <code>yes</code>.  <strong>cdb</strong> is supposed to be faster, while <strong>dbd</strong> is supposed to be &#8220;corruption-proof&#8221;.  You can <a href="http://netatalk.sourceforge.net/2.0/htmldocs/configuration.html#CNID-backends" target="_blank">read it about in the docs</a>.</p>
<p>After you&#8217;ve saved changes to this configuration file, run the following to restart netatalk:</p>
<ul class="terminal">
<li><code>sudo /etc/init.d/netatalk restart</code></li>
</ul>
<h2>other tips and tricks</h2>
<p>Here are a couple other thoughts and pointers that I&#8217;ve picked up over the years &#8230;</p>
<h3>multiple afp servers running on the same network</h3>
<p>I never thought much of it, but I did notice: if you have two different servers on your network running netatalk, you are unable to login to both of them at the same time.  <strong>JET</strong> <a href="http://blog.damontimm.com/how-to-install-netatalk-afp-on-ubuntu-with-encrypted-authentication/#comment-3718">posted a solution</a> to this and it works flawlessly.  It has changed my life.</p>
<h3>multiple network interfaces causing errors</h3>
<p><strong>Update (9/24/07 &amp; 10/22/07):</strong> I&#8217;ve noticed <a href="http://www.damontimm.com/blog/how-to-install-netatalk-afp-on-ubuntu-with-encrypted-authentication/#comment-748">a few people mentioning </a>they get an error when compiling and/or starting netatalk (from <a href="http://ubuntuforums.org/showpost.php?p=1273565&amp;postcount=21">ubuntuforums.org</a> as well).  Folks with more than one available network adapter (like <code>eth1</code> and <code>eth2</code>, or virtual adapters created by vmware) seem to run an error when they compile and during runtime .  During compile time you might have have an error that ends in:</p>
<ul class="terminal">
<li><code>dpkg: error processing netatalk (--install):</code></li>
<li><code>subprocess post-installation script returned error exit status 1</code></li>
<li><code>Errors were encountered while processing:</code></li>
<li><code>netatalk</code></li>
<li><code>debi: debpkg -i failed</code></li>
</ul>
<p>After this, you would probably get an error at runtime that looked like:</p>
<ul class="terminal">
<li><code>Starting Netatalk services (this will take a while): nbp_rgstr: Connection timed out</code></li>
</ul>
<p><strong>Tim Pope</strong> wrote a <a href="http://www.damontimm.com/blog/how-to-install-netatalk-afp-on-ubuntu-with-encrypted-authentication/#comment-911">suggested fix</a> in the comments below that should eliminate the conflict between the multiple adapters.  I only have one adapter myself (and don&#8217;t use vmware) so I haven&#8217;t had a chance to try it yet myself.  Let me know if this works for you as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.damontimm.com/how-to-install-netatalk-afp-on-ubuntu-with-encrypted-authentication/feed/</wfw:commentRss>
		<slash:comments>150</slash:comments>
		</item>
	</channel>
</rss>
