<?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"
	>

<channel>
	<title>Kirk's Tech Diary</title>
	<atom:link href="http://kirksblog.steffensenfamily.com/feed" rel="self" type="application/rss+xml" />
	<link>http://kirksblog.steffensenfamily.com</link>
	<description>My Diary on Tech Subjects - So I'll Remember What I Did Two Months Later...</description>
	<pubDate>Sun, 11 May 2008 13:01:50 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>DreamHost Statistics While Running Wordpress</title>
		<link>http://kirksblog.steffensenfamily.com/archives/22</link>
		<comments>http://kirksblog.steffensenfamily.com/archives/22#comments</comments>
		<pubDate>Sun, 11 May 2008 12:52:25 +0000</pubDate>
		<dc:creator>kirk</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://kirksblog.steffensenfamily.com/?p=22</guid>
		<description><![CDATA[If you run WordPress in your webroot, it grabs all of the URLs and if it doesn&#8217;t recognize one, it returns a 404.  So, you need to add this to your .htaccess, BEFORE the WordPress rewrite section to get to your DreamHost statistics page:
# For DreamHost stats
&#60;IfModule mod_rewrite.c&#62;
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^/(stats&#124;failed_auth\.html).*$ [NC]
RewriteRule . - [...]]]></description>
			<content:encoded><![CDATA[<p>If you run WordPress in your webroot, it grabs all of the URLs and if it doesn&#8217;t recognize one, it returns a 404.  So, you need to add this to your .htaccess, BEFORE the WordPress rewrite section to get to your DreamHost statistics page:</p>
<p># For DreamHost stats<br />
&lt;IfModule mod_rewrite.c&gt;<br />
RewriteEngine On<br />
RewriteBase /<br />
RewriteCond %{REQUEST_URI} ^/(stats|failed_auth\.html).*$ [NC]<br />
RewriteRule . - [L]<br />
&lt;/IfModule&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://kirksblog.steffensenfamily.com/archives/22/feed</wfw:commentRss>
		</item>
		<item>
		<title>SSH with RSA key only</title>
		<link>http://kirksblog.steffensenfamily.com/archives/21</link>
		<comments>http://kirksblog.steffensenfamily.com/archives/21#comments</comments>
		<pubDate>Sat, 10 May 2008 01:06:28 +0000</pubDate>
		<dc:creator>kirk</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://kirksblog.steffensenfamily.com/?p=21</guid>
		<description><![CDATA[I made a strong step forward in securing my remote admin of our proxy server by changing SSH to only work with an authorized RSA key.  I followed the directions in several HOWTOs, but kept getting a &#8220;Server refused our key&#8221; error.  Fortunately, I found Andre Molnar&#8217;s useful page on How to set up SSH [...]]]></description>
			<content:encoded><![CDATA[<p>I made a strong step forward in securing my remote admin of our proxy server by changing SSH to only work with an authorized RSA key.  I followed the directions in several HOWTOs, but kept getting a &#8220;Server refused our key&#8221; error.  Fortunately, I found Andre Molnar&#8217;s useful page on <a title="How to setup SSH keys" href="http://andremolnar.com/how_to_set_up_ssh_keys_with_putty_and_not_get_server_refused_our_key">How to set up SSH keys: Frustration with &#8220;Server refused our key&#8221;</a></p>
<p>I followed the directions at the bottom of the page, designated the private key file in both PuTTY and WinSCP and away we went.  Make sure to set PasswordAuthentication to &#8220;no&#8221; in /etc/ssh/sshd_config.  This will force the use of an authorized key, and prevents normal username/password logins.</p>
<p>Oh, the other key point is to set the auto-login username in PuTTY.  If this is set, PuTTY will pass that username and the key.  If it is not set, PuTTY will try to use a normal username/password login which we disabled by setting PasswordAuthentication to no.</p>
]]></content:encoded>
			<wfw:commentRss>http://kirksblog.steffensenfamily.com/archives/21/feed</wfw:commentRss>
		</item>
		<item>
		<title>rtorrent and dtach on Ubuntu 8.04 Server</title>
		<link>http://kirksblog.steffensenfamily.com/archives/19</link>
		<comments>http://kirksblog.steffensenfamily.com/archives/19#comments</comments>
		<pubDate>Thu, 08 May 2008 19:02:23 +0000</pubDate>
		<dc:creator>kirk</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://kirksblog.steffensenfamily.com/?p=19</guid>
		<description><![CDATA[I use an old laptop for our proxy server / porn filter.  Most of the time it&#8217;s just sitting there, especially during the day when we&#8217;re all at work/school (with a vicious guard dog in the house, in case any wise guys read this&#8230;) and at night when we&#8217;re asleep.  So, I decided [...]]]></description>
			<content:encoded><![CDATA[<p>I use an old laptop for our proxy server / porn filter.  Most of the time it&#8217;s just sitting there, especially during the day when we&#8217;re all at work/school (with a vicious guard dog in the house, in case any wise guys read this&#8230;) and at night when we&#8217;re asleep.  So, I decided to see if there is a command-line bittorent client that I could run in the background to both get Ubuntu disks from the torrent, and then be a good netizen and serve them up in the torrent.</p>
<p>Thanks to K. Mandala for his <a title="How to use rtorrent like a pro" href="http://kmandla.wordpress.com/2007/05/02/howto-use-rtorrent-like-a-pro/">useful rtorrent HOWTO</a> that got me going.  I still spent several hours working on this to get it going, so I thought I&#8217;d record it here for future repetition.</p>
<p>I settled on rtorrent for the client and dtach to allow it to run in the background.  Both are available through the Ubuntu repositories, but dtach (as of this writing) version 0.7, which has a bug that prevents it from running if it&#8217;s not in an open terminal window.  So, I ended up getting <a title="dtach version 8.0.1 Debian installation file" href="http://http.us.debian.org/debian/pool/main/d/dtach/dtach_0.8-1_i386.deb">dtach version 0.8.1 from the Debian testing repository</a>.  I used wget and dpkg to get the file on the server and then install it:</p>
<p><code>wget http://http.us.debian.org/debian/pool/main/d/dtach/dtach_0.8-1_i386.deb<br />
dpkg --install dtach_0.8-1_i386.deb</code></p>
<p>I made a &#8220;torrents&#8221; directory in my ksteffensen user home directory and then made two subdirectories, &#8220;session&#8221; and &#8220;watch.&#8221;</p>
<p><code>mkdir ~/torrents<br />
cd ~/torrents<br />
mkdir session<br />
mkdir watch</code></p>
<p>Then I made a .rtorrent.rc file in my home directory and tweaked the values from the sample to get to my configuration:</p>
<p><code>touch ~/.rtorrent.rc<br />
vim ~/.rtorrent.rc</code></p>
<p>Here is what I ended up with:</p>
<p><code># Maximum and minimum number of peers to connect to per torrent.<br />
min_peers = 40<br />
max_peers = 100</code></p>
<p><code><br />
# Same as above but for seeding completed torrents (-1 = same as downloading)<br />
min_peers_seed = 10<br />
max_peers_seed = 50<br />
</code></p>
<p><code> # Maximum number of simultanious uploads per torrent.<br />
max_uploads = 20<br />
</code></p>
<p><code> # Global upload and download rate in KiB. "0" for unlimited.<br />
download_rate = 600<br />
upload_rate = 200<br />
</code></p>
<p><code> # Default directory to save the downloaded torrents.<br />
directory = ~/torrents/<br />
</code></p>
<p><code> # Default session directory. Make sure you don't run multiple instance<br />
# of rtorrent using the same session directory. Perhaps using a<br />
# relative path?<br />
session = ~/torrents/session<br />
</code></p>
<p><code> # Watch a directory for new torrents, and stop those that have been<br />
# deleted.<br />
schedule = watch_directory,5,60,load_start=~/torrents/watch/*.torrent<br />
schedule = untied_directory,5,60,stop_untied=~/torrents/watch/*.torrent<br />
</code></p>
<p><code> # Close torrents when diskspace is low.<br />
schedule = low_diskspace,60,60,close_low_diskspace=1000M<br />
</code></p>
<p><code> # Stop torrents when reaching upload ratio in percent,<br />
# when also reaching total upload in bytes, or when<br />
# reaching final upload ratio in percent.<br />
# example: stop at ratio 2.0 with at least 200 MB uploaded, or else ratio 20.0<br />
#schedule = ratio,60,60,"stop_on_ratio=200,200M,2000"<br />
</code></p>
<p><code> # The ip address reported to the tracker.<br />
ip = steffensenfamily.net<br />
# The ip address the listening socket and outgoing connections is<br />
# bound to.<br />
bind = 192.168.1.200<br />
</code></p>
<p><code> # Port range to use for listening.<br />
port_range = 6890-6999<br />
</code></p>
<p><code> # Start opening ports at a random position within the port range.<br />
#port_random = no<br />
# Check hash for finished torrents. Might be usefull until the bug is<br />
# fixed that causes lack of diskspace not to be properly reported.<br />
#check_hash = no<br />
# Set whetever the client should try to connect to UDP trackers.<br />
use_udp_trackers = yes<br />
</code></p>
<p><code> # Alternative calls to bind and ip that should handle dynamic ip's.<br />
#schedule = ip_tick,0,1800,ip=rakshasa<br />
#schedule = bind_tick,0,1800,bind=rakshasa<br />
# Encryption options, set to none (default) or any combination of the following:<br />
# allow_incoming, try_outgoing, require, require_RC4, enable_retry, prefer_plaintext<br />
#<br />
# The example value allows incoming encrypted connections, starts unencrypted<br />
# outgoing connections but retries with encryption if they fail, preferring<br />
# plaintext to RC4 encryption after the encrypted handshake<br />
#<br />
encryption = allow_incoming,try_outgoing,enable_retry<br />
</code></p>
<p><code> # Enable DHT support for trackerless torrents or when all trackers are down.<br />
# May be set to "disable" (completely disable DHT), "off" (do not start DHT),<br />
# "auto" (start and stop DHT as needed), or "on" (start DHT immediately).<br />
# The default is "off". For DHT to work, a session directory must be defined.<br />
#<br />
dht = auto<br />
</code></p>
<p><code> # UDP port to use for DHT.<br />
#<br />
dht_port = 6881<br />
</code></p>
<p><code> # Enable peer exchange (for torrents not marked private)<br />
#<br />
peer_exchange = no</code></p>
<p>Now, if I save a .torrent file to ~/torrents/watch, rtorrent will automatically add it to its active list and start downloading it within a minute.</p>
<p>Finally, I used my ksteffensen crontab to automatically start rtorrent in a detached session on every reboot.  The one catch that took me a long time to troubleshoot was that dtach needs to think it&#8217;s in an xterm terminal, so you have to add TERM=xterm to the crontab entry.</p>
<p><code>crontab -e</code></p>
<p>Then paste this into the crontab editor.  @reboot tells it to run at every boot.</p>
<p><code># Start rtorrent in a detached session<br />
@reboot TERM=xterm dtach -n ~/torrents/rtorrent rtorrent</code></p>
<p>The -n mode for dtach tells it to start in a detached session using ~/torrents/rtorrent as the socket.  To open the rtorrent screen, you use dtach with the -a mode:</p>
<p><code>dtach -a ~/torrents/rtorrent</code></p>
<p>To detach the session again while leaving it running, all you do is hit ctrl and backslash, ctrl-\</p>
<p>Once I got it all working, I set up my edge router to port forward ports 6881-6999 (both TCP and UDP, since I set use_udp_trackers to &#8220;yes&#8221;) to the proxy server.  This keeps the proxy behind the firewall, but opens the bittorrent ports to allow other peers to coordinate with the server.</p>
<p>Here is another <a href="http://onubuntu.blogspot.com/2007/03/getting-started-with-vim-on-ubuntu.html">good HOWTO</a> that I found after the fact, and here are the man pages for <a title="man rtorrent" href="http://libtorrent.rakshasa.no/rtorrent/rtorrent.1.html">rtorrent</a> and <a title="man dtach" href="http://linux.die.net/man/1/dtach">dtach</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://kirksblog.steffensenfamily.com/archives/19/feed</wfw:commentRss>
		</item>
		<item>
		<title>Added Google Reader Shared Items to Sidebar</title>
		<link>http://kirksblog.steffensenfamily.com/archives/20</link>
		<comments>http://kirksblog.steffensenfamily.com/archives/20#comments</comments>
		<pubDate>Thu, 08 May 2008 16:55:57 +0000</pubDate>
		<dc:creator>kirk</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://kirksblog.steffensenfamily.com/?p=20</guid>
		<description><![CDATA[I used James Wilson&#8217;s Google Reader Widget to add my shared items to the side bar.  It wasn&#8217;t painless, though.  I had to hack it to use curl per the installation instructions, since DreamHost doesn&#8217;t allow file_get_contents.  I also had to hack one line about the cache time to get it to take the input [...]]]></description>
			<content:encoded><![CDATA[<p>I used James Wilson&#8217;s <a title="Google Reader Widget for WordPress" href="http://wordpress.org/extend/plugins/google-reader-widget/">Google Reader Widget</a> to add my shared items to the side bar.  It wasn&#8217;t painless, though.  I had to hack it to use curl per the installation instructions, since DreamHost doesn&#8217;t allow file_get_contents.  I also had to hack one line about the cache time to get it to take the input from the widget configuration box.</p>
]]></content:encoded>
			<wfw:commentRss>http://kirksblog.steffensenfamily.com/archives/20/feed</wfw:commentRss>
		</item>
		<item>
		<title>Added Twitter Feed using Twitter Widget Pro</title>
		<link>http://kirksblog.steffensenfamily.com/archives/18</link>
		<comments>http://kirksblog.steffensenfamily.com/archives/18#comments</comments>
		<pubDate>Thu, 08 May 2008 00:38:41 +0000</pubDate>
		<dc:creator>kirk</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://kirksblog.steffensenfamily.com/?p=18</guid>
		<description><![CDATA[Adding my Twitter feed to the sidebar was painless using Aaron Campbell&#8217;s Twitter Widget Pro.
]]></description>
			<content:encoded><![CDATA[<p>Adding my Twitter feed to the sidebar was painless using Aaron Campbell&#8217;s <a title="Twitter Widget Pro" href="http://wordpress.org/extend/plugins/twitter-widget-pro/">Twitter Widget Pro</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://kirksblog.steffensenfamily.com/archives/18/feed</wfw:commentRss>
		</item>
		<item>
		<title>Locking down Firefox on Ubuntu</title>
		<link>http://kirksblog.steffensenfamily.com/archives/15</link>
		<comments>http://kirksblog.steffensenfamily.com/archives/15#comments</comments>
		<pubDate>Sun, 28 Jan 2007 11:42:26 +0000</pubDate>
		<dc:creator>kirk</dc:creator>
		
		<category><![CDATA[Firefox]]></category>

		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://kirksblog.steffensenfamily.com/archives/15</guid>
		<description><![CDATA[Edit /usr/lib/firefox/firefox.cfg to read:
//
lockPref("app.update.enabled", false);
lockPref("network.proxy.http", "192.168.1.3");
lockPref("network.proxy.http_port", 3128);
lockPref("network.proxy.type", 1);
lockPref("network.proxy.no_proxies_on", "localhost, 127.0.0.1, 192.168.0.0/16, 172.0.0.0/8");
lockPref("network.proxy.share_proxy_settings", true);
lockPref("browser.startup.homepage", "http://www.google.com/ncr");
Find any additional settings to lock down by entering &#8220;about:config&#8221; in the Firefox address bar.  The resulting list is all of the settings that can be locked.
UPDATE: Ubuntu has an annoying habit of overwriting this file every time it updates Firefox. [...]]]></description>
			<content:encoded><![CDATA[<p>Edit /usr/lib/firefox/firefox.cfg to read:</p>
<p><code>//<br />
lockPref("app.update.enabled", false);<br />
lockPref("network.proxy.http", "192.168.1.3");<br />
lockPref("network.proxy.http_port", 3128);<br />
lockPref("network.proxy.type", 1);<br />
lockPref("network.proxy.no_proxies_on", "localhost, 127.0.0.1, 192.168.0.0/16, 172.0.0.0/8");<br />
lockPref("network.proxy.share_proxy_settings", true);<br />
lockPref("browser.startup.homepage", "http://www.google.com/ncr");</code></p>
<p>Find any additional settings to lock down by entering &#8220;about:config&#8221; in the Firefox address bar.  The resulting list is all of the settings that can be locked.</p>
<p>UPDATE: Ubuntu has an annoying habit of overwriting this file every time it updates Firefox.  My short-term work-around is to copy the contents of firefox.cfg to firefox.cfg.local and then setting a root cron job (using &#8220;sudo crontab -e&#8221;) with the following entry (copies the .local file back over the .cfg file every hour - so the longest you&#8217;re without locked prefs is that hour.  Make it shorter if you prefer.):</p>
<p><code># Restore firefox.cfg to preferred configuration every hour.<br />
# Corrects bug where firefox.cfg gets overwritten by update.<br />
0 * * * * cp /usr/lib/firefox/firefox.cfg.local /usr/lib/firefox/firefox.cfg</code></p>
]]></content:encoded>
			<wfw:commentRss>http://kirksblog.steffensenfamily.com/archives/15/feed</wfw:commentRss>
		</item>
		<item>
		<title>HP LaserJet 1020 - Getting it to work in Ubuntu</title>
		<link>http://kirksblog.steffensenfamily.com/archives/13</link>
		<comments>http://kirksblog.steffensenfamily.com/archives/13#comments</comments>
		<pubDate>Sun, 19 Nov 2006 11:34:34 +0000</pubDate>
		<dc:creator>kirk</dc:creator>
		
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://kirksblog.steffensenfamily.com/archives/13</guid>
		<description><![CDATA[The foo2zjs driver shipped with Ubuntu Edgy doesn&#8217;t work.  Uninstall it using the Synaptic package manager.  Then install the &#8220;build-essential&#8221; package using Synaptic.  This allows you to compile source code.  Then get foo2zjs from the homepage.  Follow the directions at the bottom of the homepage.  Works like a charm.
The [...]]]></description>
			<content:encoded><![CDATA[<p>The foo2zjs driver shipped with Ubuntu Edgy doesn&#8217;t work.  Uninstall it using the Synaptic package manager.  Then install the &#8220;build-essential&#8221; package using Synaptic.  This allows you to compile source code.  Then get foo2zjs <a title="foo2zjs Homepage" href="http://foo2zjs.rkkda.com/">from the homepage</a>.  Follow the directions at the bottom of the homepage.  Works like a charm.</p>
<p>The <a title="Ubuntu Bug Report on foo2zjs" href="https://launchpad.net/distros/ubuntu/edgy/+source/foo2zjs/+bug/65618">Ubuntu bug report on foo2zjs</a> says that this has been fixed, but didn&#8217;t make it into Edgy.  As of the writing of this post, it is not in the package repository.</p>
<p><strong>Update from a Friend:</strong><br />
On Feisty you do not need to rebuild the foo driver.</p>
<p>Just do this:<br />
getweb 1020<br />
sudo arm2hpdl sihp1020.img > sihp1020.dl<br />
sudo cp sihp1020.dl /usr/share/foo2zjs/firmware/</p>
<p>see:<br />
<a onclick="return top.js.OpenExtLink(window,event,this)" target="_blank" href="https://bugs.launchpad.net/ubuntu/+source/foo2zjs/+bug/96454">https://bugs.launchpad.net/ubuntu/+source/foo2zjs/+bug/96454 </a></p>
]]></content:encoded>
			<wfw:commentRss>http://kirksblog.steffensenfamily.com/archives/13/feed</wfw:commentRss>
		</item>
		<item>
		<title>Freeware LPD Server for Windows 98</title>
		<link>http://kirksblog.steffensenfamily.com/archives/11</link>
		<comments>http://kirksblog.steffensenfamily.com/archives/11#comments</comments>
		<pubDate>Sun, 12 Nov 2006 19:12:58 +0000</pubDate>
		<dc:creator>kirk</dc:creator>
		
		<category><![CDATA[Windows 98]]></category>

		<guid isPermaLink="false">http://kirksblog.steffensenfamily.com/archives/11</guid>
		<description><![CDATA[Gernot Zander&#8217;s LPD-WIN software. Here&#8217;s his website, in case the specific download link doesn&#8217;t work in the future.
I haven&#8217;t installed it yet.  I hope it will work for printing from Edubuntu thin clients to a printer attached to a Windows 98 machine.
]]></description>
			<content:encoded><![CDATA[<p>Gernot Zander&#8217;s <a title="Download LPD-WIN" href="http://www.kabelmax.de/lpd.zip">LPD-WIN software</a>. Here&#8217;s his <a title="Gernot Zander's Website" href="http://www.kabelmax.de">website</a>, in case the specific download link doesn&#8217;t work in the future.</p>
<p>I haven&#8217;t installed it yet.  I hope it will work for printing from <a title="Edubuntu - Ubuntu with automatic LTSP setup" href="http://www.edubuntu.org">Edubuntu</a> thin clients to a printer attached to a Windows 98 machine.</p>
]]></content:encoded>
			<wfw:commentRss>http://kirksblog.steffensenfamily.com/archives/11/feed</wfw:commentRss>
		</item>
		<item>
		<title>BackupPC on Ubuntu</title>
		<link>http://kirksblog.steffensenfamily.com/archives/10</link>
		<comments>http://kirksblog.steffensenfamily.com/archives/10#comments</comments>
		<pubDate>Sat, 11 Nov 2006 05:57:02 +0000</pubDate>
		<dc:creator>kirk</dc:creator>
		
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://kirksblog.steffensenfamily.com/archives/10</guid>
		<description><![CDATA[BackupPC is a great backup program for an Ubuntu server.  However, it doesn&#8217;t work &#8220;out of the box&#8221; due to Ubuntu&#8217;s lack of a root account.  This is what I had to do to make it work.
Modify /etc/backuppc/config.pl

Run &#8220;sudo vim /etc/backuppc/config.pl&#8221;
Add sudo to the TAR Client and ClientRestore commands

Change $Conf{TarClientCmd} to read
$Conf{TarClientCmd} = [...]]]></description>
			<content:encoded><![CDATA[<p>BackupPC is a great backup program for an Ubuntu server.  However, it doesn&#8217;t work &#8220;out of the box&#8221; due to Ubuntu&#8217;s lack of a root account.  This is what I had to do to make it work.</p>
<p>Modify /etc/backuppc/config.pl</p>
<ul>
<li>Run &#8220;sudo vim /etc/backuppc/config.pl&#8221;</li>
<li>Add sudo to the TAR Client and ClientRestore commands</li>
<ul>
<li>Change $Conf{TarClientCmd} to read<br />
<code>$Conf{TarClientCmd} = 'sudo $tarPath -c -v -f - -C $shareName'<br />
. ' --totals';</code></li>
<li>Change $Conf{TarClientRestoreCmd} to read<br />
<code>$Conf{TarClientRestoreCmd} = 'sudo $tarPath -x -p --numeric-owner --same-owner'<br />
. ' -v -f - -C $shareName';</code></li>
</ul>
<li>Change $Conf{BackupFilesExclude} (for my config - these seem to all be temp files that you don&#8217;t really need to backup) to read<br />
<code>$Conf{BackupFilesExclude} = ['/proc', '/dev', '/tmp', '/mnt', '/media', '/sys', '/lost+found', '/usr/src', '/var/lib', '/var/tmp', '/var/cache', '/var/spool', '/var/run', '/var/lock', '/var/games', '/home/*/.Trash', '/home/*/.mozilla/*/*/Cache', '/home/*/.mozilla/*/*/Cache.Trash'];</code></li>
<li>Change $Conf{XferMethod} to read<br />
<code>$Conf{XferMethod} = 'tar';</code></li>
<li>Change $Conf{TarFullArgs} to read<br />
<code>$Conf{TarFullArgs} = '$fileList';</code></li>
<li>Change $Conf{TarIncrArgs} to read<br />
<code>$Conf{TarIncrArgs}= '--newer=$incrDate $fileList';</code></li>
</ul>
<p>Add backuppc to the sudoers list</p>
<ul>
<li>Run &#8220;sudo visudo&#8221;</li>
<li>At the bottom of the file add</li>
<ul><code># Allow backuppc to run tar without a password<br />
backuppc ALL=NOPASSWD: /bin/tar</code></ul>
</ul>
<p>Delete all of the text from /etc/backuppc/localhost.pl.  This will prevent the &#8220;per-PC&#8221; defaults from overriding the changes above.<br />
By adding sudo to the TAR commands in /etc/backuppc/config.pl and adding backuppc to the sudoers list, you&#8217;re able to perform both backups and restores directly from the web-based interface.</p>
]]></content:encoded>
			<wfw:commentRss>http://kirksblog.steffensenfamily.com/archives/10/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
