<?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>The Troll-Range &#187; Admin</title>
	<atom:link href="http://blog.trollgod.org.uk/category/linux/admin/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.trollgod.org.uk</link>
	<description>Ghworg&#039;s wibblings and geek projects.</description>
	<lastBuildDate>Sat, 12 Nov 2011 10:10:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/>		<item>
		<title>Backporting new code to Debian packages</title>
		<link>http://blog.trollgod.org.uk/2009/11/backporting-new-code-to-debian-packages/</link>
		<comments>http://blog.trollgod.org.uk/2009/11/backporting-new-code-to-debian-packages/#comments</comments>
		<pubDate>Fri, 20 Nov 2009 17:30:23 +0000</pubDate>
		<dc:creator>Ghworg</dc:creator>
				<category><![CDATA[Admin]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[packaging]]></category>

		<guid isPermaLink="false">http://blog.trollgod.org.uk/?p=374</guid>
		<description><![CDATA[<p>I like Linux distros packaging systems, especially Debian&#8217;s. It makes it trivial to install, remove and change to different versions of programs. The only problem is that sometimes there is a delay in packaging the latest version of an app.</p> <p>Never fear though, if you are willing to do a little bit of work <span style="color:#777"> . . . &#8594; Read More: <a href="http://blog.trollgod.org.uk/2009/11/backporting-new-code-to-debian-packages/">Backporting new code to Debian packages</a></span>]]></description>
			<content:encoded><![CDATA[<p>I like Linux distros packaging systems, especially Debian&#8217;s.  It makes it trivial to install, remove and change to different versions of programs.  The only problem is that sometimes there is a delay in packaging the latest version of an app.</p>
<p>Never fear though, if you are willing to do a little bit of work you can shoehorn the latest code into a package yourself without needing any special knowledge of how to create packages.  Note this will only work with programs that already have been packaged since it re-uses the old packaging info with the new code.</p>
<p>I refer to Debian, but the exact same procedure will work on any deb based distro, such as Ubuntu.</p>
<p>Before starting make sure you have the devscripts and build-essential packages installed.  These will install all the tools needed to build debian packages.</p>
<p>First download the source package of the old version.</p>
<pre>apt-get source $NAME</pre>
<p>Then, as a sanity check cd into the created directory and run</p>
<pre>debuild -i -us -uc</pre>
<p>This will probably complain about missing packages needed for building, so go ahead and install them with apt-get or aptitude or whatever.  Then re-run the build command.  Assuming that works you should end up with some .deb files in the parent dir.</p>
<p>Now grab the code for the latest version from its website.  If it is not already in a tarball you&#8217;ll want to make one from it with</p>
<pre>tar czf application_version-1.orig.tar.gz applicationdir</pre>
<p>If it is a tarball already then just rename it to match the formatting application_version-1.orig.tar.gz.  For example when backporting mesa I name the tarball mesa_7.7.0-1.orig.tar.gz.</p>
<p>Next copy the debian dir from the old application directory to the new one.</p>
<pre>cp -a application-debianversion/debian application-newversion/</pre>
<p>Then cd into the new directory and run</p>
<pre>debchange -v version-1 "Updated code to latest version"</pre>
<p>It is vital that the version number used in this command matches the naming of the .orig.tar.gz file you created earlier.  For example for mesa I use 7.7.0-1.  This is the magic that will make everything work.</p>
<p>The final step is to build the new package.</p>
<pre>debuild -i -us -uc</pre>
<p>and tada!  With a bit of luck your shiny new version should be packaged up and ready to be installed.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.trollgod.org.uk/2009/11/backporting-new-code-to-debian-packages/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Virgin Media are petty scumbags</title>
		<link>http://blog.trollgod.org.uk/2009/04/virgin-media-are-petty-scumbags/</link>
		<comments>http://blog.trollgod.org.uk/2009/04/virgin-media-are-petty-scumbags/#comments</comments>
		<pubDate>Wed, 29 Apr 2009 18:27:56 +0000</pubDate>
		<dc:creator>Ghworg</dc:creator>
				<category><![CDATA[Admin]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[bandwidth]]></category>
		<category><![CDATA[cablemodem]]></category>
		<category><![CDATA[munin]]></category>
		<category><![CDATA[snmp]]></category>

		<guid isPermaLink="false">http://blog.trollgod.org.uk/?p=150</guid>
		<description><![CDATA[<p>For a few days now I&#8217;ve been working (a few minutes at a time) on writing a post about how to monitor your bandwidth usage using munin by directly querying your cable-modem. Today however, when I checked my nice munin graph I found it had stopped working at about 8AM. Some further diagnostic procedures <span style="color:#777"> . . . &#8594; Read More: <a href="http://blog.trollgod.org.uk/2009/04/virgin-media-are-petty-scumbags/">Virgin Media are petty scumbags</a></span>]]></description>
			<content:encoded><![CDATA[<p>For a few days now I&#8217;ve been working (a few minutes at a time) on writing a post about how to monitor your bandwidth usage using <a href="http://munin.projects.linpro.no/">munin</a> by directly querying your cable-modem.  Today however, when I checked my nice munin graph I found it had stopped working at about 8AM.  Some further diagnostic procedures revealed that the cable modem was no longer responding to <a href="http://en.wikipedia.org/wiki/Simple_Network_Management_Protocol">SNMP</a> requests.</p>
<p>After a bit of googling I discovered the reason for this is that my ISP, Virgin Media, have deliberately disabled SNMP access.  Reports vary on the reasons for this, some claim &#8220;performance&#8221; others &#8220;security&#8221;, but both are utterly bogus reasons.  All this does is deny customers basic information about their connection like bandwidth usage, and I can only conclude that Virgin Media want to make it more difficult for people to dispute their figures.</p>
<p>This isn&#8217;t enough to make me ditch VM, but it has pissed me off, and the next time I move house VM are going to be waaay down the list of providers I&#8217;ll look at.</p>
<p>PS.  My router doesn&#8217;t support SNMP either so I can&#8217;t use that.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.trollgod.org.uk/2009/04/virgin-media-are-petty-scumbags/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>I need an idiot-proof shell</title>
		<link>http://blog.trollgod.org.uk/2009/04/i-need-an-idiot-proof-shell/</link>
		<comments>http://blog.trollgod.org.uk/2009/04/i-need-an-idiot-proof-shell/#comments</comments>
		<pubDate>Sat, 11 Apr 2009 15:24:55 +0000</pubDate>
		<dc:creator>Ghworg</dc:creator>
				<category><![CDATA[Admin]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[cli]]></category>
		<category><![CDATA[gui]]></category>
		<category><![CDATA[oops]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://blog.trollgod.org.uk/?p=266</guid>
		<description><![CDATA[<p>After decades of never losing any significant data, last night I deleted my Video dir for the second time in six months, along with my Music this time. Fortunately I had learned my lesson and had a complete backup this time. The first time I lost a large amount of non-critical videos I had <span style="color:#777"> . . . &#8594; Read More: <a href="http://blog.trollgod.org.uk/2009/04/i-need-an-idiot-proof-shell/">I need an idiot-proof shell</a></span>]]></description>
			<content:encoded><![CDATA[<p>After decades of never losing any significant data, last night I deleted my Video dir for the second time in six months, along with my Music this time.  Fortunately I had learned my lesson and had a <strong>complete</strong> backup this time.  The first time I lost a large amount of non-critical videos I had downloaded off the internet (okay, it was porn.  I said it, happy now?).  This time I just lost a couple of episodes of <a href="http://thisweekintech.com/twif">This Week in Fun</a> I hadn&#8217;t watched.  If I can be bothered I can easily re-grab them from <a href="http://odtv.me/category/twif/">ODTV</a>.</p>
<p>I&#8217;m not sure how I accidently deleted the stuff, I was moving my config files from being stored in Subversion to git, using <a href="http://robescriva.com/2009/01/manage-your-home-with-git/">this method</a>.  I must have accidently rm -rf them somehow.  This is my problem, it&#8217;s incredibly easy to shoot yourself in the foot from the command-line.</p>
<p>I&#8217;ve always used a combination of the GUI and shell, my first <em>proper</em> computer was an <a href="http://en.wikipedia.org/wiki/Amiga_500_Plus">Amiga 500+</a> which, while it had an amazing modern GUI while Windows was still stuck with 3.1, also had a pretty good shell interface.  Not quite up to unix standards, but <strong>much better</strong> than DOS.  So I&#8217;ve always used both, depending on what was easiest for the task.</p>
<p>When I switched to Windows (after my last Amiga died on me), I started using the GUI much more heavily since DOS is so underpowered.  When a short time later I switched to Linux though that got reversed since the Linux GUI at the time wasn&#8217;t so hot and the shell was incredibly powerful.  So I currently default to using the shell, which makes me nice and productive but also means I&#8217;m working without a safety net.</p>
<p>If recent experience is anything to go by, I either need to start relying on the GUI much more or I need to find myself an idiot-proof shell.  Since I don&#8217;t think the latter is possible it looks like I&#8217;ll be GUI-focused from now on.  This is going to be a hard transition for me, much like giving up a narcotic, but I think it is necessary.</p>
<p>I&#8217;m going to start this transition at the same time as I install KDE 4, which is looking excellent in my tests on my EeePC by the way.  I could almost transition now, there are just a couple of things (that are in the works) that I need before I can convert.  A <a href="http://en.wikipedia.org/wiki/NetworkManager">Network-Manager</a> controlling <a href="http://vizzzion.org/?blogentry=839">plasmoid</a> being the main one.</p>
<p>That way I only have to relearn how to do things in one GUI, rather than learning how to do it in KDE 3.5 and then a new way in 4.  I&#8217;m not going to give up the shell completely mind, just change my balance so it is 80/20 in favour of the GUI instead of the other way round.</p>
<p>Wish me luck.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.trollgod.org.uk/2009/04/i-need-an-idiot-proof-shell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Moving from svn to git</title>
		<link>http://blog.trollgod.org.uk/2009/03/moving-from-svn-to-git/</link>
		<comments>http://blog.trollgod.org.uk/2009/03/moving-from-svn-to-git/#comments</comments>
		<pubDate>Tue, 03 Mar 2009 21:20:26 +0000</pubDate>
		<dc:creator>Ghworg</dc:creator>
				<category><![CDATA[Admin]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[versioncontrol]]></category>

		<guid isPermaLink="false">http://blog.trollgod.org.uk/?p=100</guid>
		<description><![CDATA[<p>I&#8217;ve spent most of the evening trying to figure out how to use git. For a long time I&#8217;ve wanted to have the repositories for some of my personal projects available on the web. For a time I was allowing external access to my apache internal apache server, but I&#8217;m wary about that because <span style="color:#777"> . . . &#8594; Read More: <a href="http://blog.trollgod.org.uk/2009/03/moving-from-svn-to-git/">Moving from svn to git</a></span>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve spent most of the evening trying to figure out how to use <a href="http://git-scm.com/about">git</a>.  For a long time I&#8217;ve wanted to have the repositories for some of my personal projects available on the web.  For a time I was allowing external access to my apache internal apache server, but I&#8217;m wary about that because I&#8217;m not confident about my ability to secure a box.</p>
<p>I was planning on setting subversion up on my <a href="http://www.dreamhost.com/">web host</a>, but I didn&#8217;t want to depend completely on that and mirroring subversion is non-trivial.  So today I decided to have a go at git, which is much more suited to this sort of thing.</p>
<p>Thankfully there is svn import capability built in to git, so converting my guinea-pig project over was a doddle.  Much more tricky was setting up all the syncing between the repos.  I think I have the magic incantations down now though.</p>
<pre>
git remote add NAME URL
git config branch.master.remote NAME
git config branch.master.merge refs/heads/master
</pre>
<p>I understand the first line, the other two <em>seem</em> to be necessary, but I don&#8217;t know exactly what they do yet.</p>
<p>Also, it is better to run <code>git pull</code> than <code>git push</code> when dealing with a destination that has checked out files as push doesn&#8217;t update them whilst pull does.</p>
<p>One thing that is a little weird is I can&#8217;t push changes from the live site to the public repo, which is on the same server.  But I can pull the changes down to my local machine then push back up to the public.  Tried a couple of different ways but all failed for one reason of another.</p>
<p>Treating the other repo as local throws up permissions issues, </p>
<pre>error: unable to create temporary sha1 filename</pre>
<pre>File exists</pre>
<p>, due to the way webdav is setup on dreamhost.  Treating it as remote (http) doesn&#8217;t work because the binary is compiled without curl support.  Still, the round-trip method works well enough.</p>
<p>I also installed <a href="http://git.or.cz/gitwiki/Gitweb">gitweb</a> and pointed it at the publicly accessable repo, this was very easy contrary to all the web pages I read about it.  Just name the config file gitweb_config.perl and tell it where to look for the git repos and away it went <img src='http://blog.trollgod.org.uk/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .</p>
<p><a href="http://git.trollgod.org.uk/">http://git.trollgod.org.uk/</a> is now available for anyone to view.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.trollgod.org.uk/2009/03/moving-from-svn-to-git/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Offsite backup Catch-22</title>
		<link>http://blog.trollgod.org.uk/2009/02/offsite-backup-catch-22/</link>
		<comments>http://blog.trollgod.org.uk/2009/02/offsite-backup-catch-22/#comments</comments>
		<pubDate>Thu, 26 Feb 2009 17:10:02 +0000</pubDate>
		<dc:creator>Ghworg</dc:creator>
				<category><![CDATA[Admin]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[backup]]></category>

		<guid isPermaLink="false">http://blog.trollgod.org.uk/?p=91</guid>
		<description><![CDATA[<p>Over the past couple of days I&#8217;ve been setting up a secure offsite backup for my home machines. Dreamhost started offering 50GB of space for backups for free to their customers, this is vastly superior to the &#8220;send an archive to gmail every now and then&#8221; method I was using before.</p> <p>I decided to <span style="color:#777"> . . . &#8594; Read More: <a href="http://blog.trollgod.org.uk/2009/02/offsite-backup-catch-22/">Offsite backup Catch-22</a></span>]]></description>
			<content:encoded><![CDATA[<p>Over the past couple of days I&#8217;ve been setting up a secure offsite backup for my home machines.  <a href="http://www.dreamhost.com/">Dreamhost</a> started offering 50GB of space for backups for free to their customers, this is vastly superior to the &#8220;send an archive to gmail every now and then&#8221; method I was using before.</p>
<p>I decided to use <a href="http://duplicity.nongnu.org/">duplicity</a> as it will use scp as the transfer (among manu others), encrypts all the data and automatically does incremental backups transferring only the changed files.  Newer versions even support gmail and amazon s3 as backends, which is really cool but not something I need.</p>
<p>I had one problem setting it up, which was the obscure and unhelpful error reporting.</p>
<pre>
Traceback (most recent call last):
  File "/usr/bin/duplicity", line 463, in <module>
    with_tempdir(main)
  File "/usr/bin/duplicity", line 458, in with_tempdir
    fn()
  File "/usr/bin/duplicity", line 451, in main
    incremental_backup(sig_chain)
  File "/usr/bin/duplicity", line 186, in incremental_backup
    bytes_written = write_multivol("inc", tarblock_iter, globals.backend)
  File "/usr/bin/duplicity", line 87, in write_multivol
    globals.gpg_profile,globals.volsize)
  File "/usr/lib/python2.5/site-packages/duplicity/gpg.py", line 217, in GPGWriteFile
    file.write(data)
  File "/usr/lib/python2.5/site-packages/duplicity/gpg.py", line 125, in write
    return self.gpg_input.write(buf)
IOError: [Errno 32] Broken pipe
close failed: [Errno 32] Broken pipe
</pre>
<p>That is not a useful error message (and I&#8217;ve programmed in python), the actual error turned out to be a typo in the GPG key id I had entered.  Once I&#8217;d worked that out everything went fine.</p>
<p>The real problem is the catch-22 between security and recoverability.  In order for the data to be secure it needs to be encrypted, for that you need either a key or a password (or both for an encrypted key).  Therefore in order to restore the data you need a copy of that key/password, but the situations in which you are going to be restoring from the offsite backup are ones in which <strong>all</strong> your data and local backups have gone poof.  In which case the key will have gone poof too.</p>
<p>Okay, if you used <strong>just</strong> a password and memorized it then you&#8217;d be fine.  But a password you can memorize is probably too weak to be secure, certainly for me it is with my terrible memory.</p>
<p>So, in order to make the data recoverable the key used for encryption needs to be backed up offsite too, but then your security goes out the window.  So the key itself needs to be encrypted before sending it offsite, and there we have the catch-22.</p>
<p>Data needs to be encrypted to be secure, but we need to save the key to make the data recoverable, which makes the data insecure.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.trollgod.org.uk/2009/02/offsite-backup-catch-22/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Home in subversion</title>
		<link>http://blog.trollgod.org.uk/2009/02/home-in-subversion/</link>
		<comments>http://blog.trollgod.org.uk/2009/02/home-in-subversion/#comments</comments>
		<pubDate>Mon, 09 Feb 2009 21:15:16 +0000</pubDate>
		<dc:creator>Ghworg</dc:creator>
				<category><![CDATA[Admin]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://blog.trollgod.org.uk/?p=38</guid>
		<description><![CDATA[<p>I&#8217;ve mentioned previously that I&#8217;ve started putting my /home in subversion. I thought I&#8217;d go into how I handle things, as it takes a little adjustment in your thinking to get maximum benefit from this. I used this guide to get me started, and stuck pretty close to it.</p> <p>What I do is seperate <span style="color:#777"> . . . &#8594; Read More: <a href="http://blog.trollgod.org.uk/2009/02/home-in-subversion/">Home in subversion</a></span>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve mentioned previously that I&#8217;ve started putting my /home in <a href="http://subversion.tigris.org/">subversion</a>.  I thought I&#8217;d go into how I handle things, as it takes a little adjustment in your thinking to get maximum benefit from this.  I used <a href="http://toykeeper.net/tutorials/svnhome">this guide</a> to get me started, and stuck pretty close to it.</p>
<p>What I do is seperate settings files into two groups, common and local (I don&#8217;t have any other data in home, that all lives on it&#8217;s own partition).  Local settings are unique to each machine.  Common settings are identical across all the machines the programs are used on.  There are a few special cases that live in both worlds, like bash, but I&#8217;ll get to how I handle those later.</p>
<p>Each machine on my network has it&#8217;s own branch in the svn repo, and in each of those branches are two extra dirs, called &#8220;.svncommon&#8221; and &#8220;.svnlocal&#8221;.  Inside these there are category dirs like &#8220;Bash&#8221;, &#8220;Devel&#8221;, &#8220;Internet&#8221; etc. that allow me to group together the settings for programs to make management easier.  The .svnlocal one is not really necessary, I could just keep all the settings for the local group in the root of home instead of having them in .svnlocal and symlinks to those files in home but I like the symmetry of handling local files the same way as common ones.</p>
<p>Anyway, the category dirs in the common group are setup to use the <a href="http://svnbook.red-bean.com/en/1.1/ch07s04.html">svn:externals</a> feature, so that they are actually connected to dirs in the trunk of the repo.  So the files in ~/.svncommon/Devel are actually located in /trunk/Devel in the repo.</p>
<p>Here is the basic procedure I use to add a new machine to the shared setup (I assume the repo exists already).</p>
<ol>
<li>First we need to add a branch for the new machine &#8220;<code>svn mkdir svn://server/Repo/branches/MACHINE</code>&#8220;</li>
<li>Then link the homedir to that branch so we can add the files &#8220;<code>svn co svn://server/Repo/branches/MACHINE .</code>&#8220;</li>
<li>Create the two dirs for the local and common files &#8220;<code>svn mkdir .svnlocal .svncommon</code>&#8220;</li>
<li>Setup the links to the common stuff&#8221;<code>svn propedit svn:externals .svncommon</code>&#8221;<br />
<code>Bash/                   svn://$REPO/trunk/Bash<br />
GuiInternet/    svn://$REPO/trunk/GuiInternet<br />
Internet/               svn://$REPO/trunk/Internet<br />
Devel/                  svn://$REPO/trunk/Devel</code></li>
<li>&#8220;<code>svn ci .</code>&#8220;</li>
<li>&#8220;<code>svn up</code>&#8220;</li>
</ol>
<p>To add stuff to the repository you simply move it into one of the subdirs of .svnlocal or .svncommon.  Then create a symlink to it in ~/ so the program can still access the file.  Then &#8220;<code>svn add</code>&#8221; both the file and the symlink.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.trollgod.org.uk/2009/02/home-in-subversion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Suspend works</title>
		<link>http://blog.trollgod.org.uk/2007/05/suspend-works/</link>
		<comments>http://blog.trollgod.org.uk/2007/05/suspend-works/#comments</comments>
		<pubDate>Sun, 20 May 2007 14:51:08 +0000</pubDate>
		<dc:creator>Ghworg</dc:creator>
				<category><![CDATA[Admin]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[laptop]]></category>
		<category><![CDATA[suspend]]></category>

		<guid isPermaLink="false">http://blog.trollgod.org.uk/?p=10</guid>
		<description><![CDATA[<p>I got my Toshiba Tecra 8000 laptop to successfully suspend and resume, yay! The key is not to use the neofb framebuffer, but the vesafb one instead. Also the usb modules uhci_hcd and usbcore need to be unloaded before suspending. If you don&#8217;t then suspend works but instead of a proper resume you get <span style="color:#777"> . . . &#8594; Read More: <a href="http://blog.trollgod.org.uk/2007/05/suspend-works/">Suspend works</a></span>]]></description>
			<content:encoded><![CDATA[<p>I got my Toshiba Tecra 8000 laptop to successfully suspend and resume, yay!  The key is not to use the neofb framebuffer, but the vesafb one instead.  Also the usb modules <i>uhci_hcd</i> and <i>usbcore</i> need to be unloaded before suspending.  If you don&#8217;t then suspend works but instead of a proper resume you get a black screen with the word &#8220;Linu&#8221; in yellow in the top left.</p>
<p>I&#8217;m using the uswsusp package for the job, s2disk works out of the box (with the above caveats) but s2ram needs the options &#8220;-f -a3 -m&#8221; in order to work.  I would send the details to the devs to add it to the whitelist but there is a slight problem there:</p>
<pre>This machine can be identified by:
    sys_vendor   = ""
    sys_product  = ""
    sys_version  = ""
    bios_version = ""
See <a href="http://en.opensuse.org/S2ram">http://en.opensuse.org/S2ram</a> for details.
</pre>
<p>Not very helpful.  So for now I&#8217;ve just compiled my own so I can run s2both, as that only works with machines that are on the whitelist.</p>
<p>I&#8217;m not sure I can live without neofb however, vesafb is incredibly slow when scrolling text.  I may forget about using suspend and just live with hibernate.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.trollgod.org.uk/2007/05/suspend-works/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Screen hardstatus</title>
		<link>http://blog.trollgod.org.uk/2006/04/screen-hardstatus/</link>
		<comments>http://blog.trollgod.org.uk/2006/04/screen-hardstatus/#comments</comments>
		<pubDate>Fri, 14 Apr 2006 21:21:32 +0000</pubDate>
		<dc:creator>Ghworg</dc:creator>
				<category><![CDATA[Admin]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[cli]]></category>
		<category><![CDATA[screen]]></category>

		<guid isPermaLink="false">http://blog.trollgod.org.uk/?p=61</guid>
		<description><![CDATA[<p>GingerDog saw my screen and was curious about the status line I have. The entire screenrc I use.</p> <p> </p> <p>(the thingy at the bottom of the image) It&#8217;s achieved using the following magic incantation in my .screenrc</p> hardstatus on hardstatus lastline &#34;%c:%s &#8211; %-Lw%{=BW}%50&#62;%n%f*t%{-}%+Lw%&#60;&#34; &#160; <p>Oh, and each window gets automatically named after <span style="color:#777"> . . . &#8594; Read More: <a href="http://blog.trollgod.org.uk/2006/04/screen-hardstatus/">Screen hardstatus</a></span>]]></description>
			<content:encoded><![CDATA[<p>GingerDog saw my <a href="http://www.gnu.org/software/screen/">screen</a> and was curious about the status line I have. The entire <a href="/wp-content/uploads/2006/04/screenrc">screenrc</a> I use.</p>
<p><a class="imagelink" href="/wp-content/uploads/screenrc.png" title="Screen snapshot"><br />
<img id="image65" src="/wp-content/uploads/screenrc.thumbnail.png" alt="Screen snapshot" /></a></p>
<p>(the thingy at the bottom of the image) It&#8217;s achieved using the following magic incantation in my<br />
.screenrc</p>
<div class="dean_ch" style="white-space: nowrap;">
hardstatus on hardstatus lastline <span class="st0">&quot;%c:%s &#8211; %-Lw%{=BW}%50&gt;%n%f*t%{-}%+Lw%&lt;&quot;</span><br />
&nbsp;</div>
<p>Oh, and each window gets<br />
automatically named after the program running in it using the<br />
following.</p>
<div class="dean_ch" style="white-space: nowrap;">
shelltitle <span class="st0">&quot;$ |bash&quot;</span><br />
&nbsp;</div>
<p>(Update 17/04/2006:<br />
This appears to only work in a linux terminal, not any of the<br />
X-terms. The X-terms seem to set the window title instead and I&#8217;m<br />
not sure how to change this at the moment. I&#8217;m going to carry on<br />
looking in to it though.) (Update 18/04/2006: Got it, for gui<br />
terminals instead of &#8220;lastline&#8221; use &#8220;alwayslastline&#8221;)</p>
<div class="dean_ch" style="white-space: nowrap;">
hardstatus on hardstatus alwayslastline <span class="st0">&quot;%c:%s &#8211; %-Lw%{=BW}%50&gt;%n%f*%t%{-}%+Lw%&lt; &quot;</span><br />
&nbsp;</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.trollgod.org.uk/2006/04/screen-hardstatus/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Backup script v2</title>
		<link>http://blog.trollgod.org.uk/2006/02/backup-script-v2/</link>
		<comments>http://blog.trollgod.org.uk/2006/02/backup-script-v2/#comments</comments>
		<pubDate>Sat, 18 Feb 2006 08:21:13 +0000</pubDate>
		<dc:creator>Ghworg</dc:creator>
				<category><![CDATA[Admin]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://blog.trollgod.org.uk/?p=45</guid>
		<description><![CDATA[<p>I&#8217;ve rewritten my backup script in python (it was in bash) in order to make the old backup handling date-based rather than a simple iteration. So it now renames dirs to daily.1, daily2, weekly1, monthly1 for old backups that are one day, two days, one week, one month old etc.</p> <p>Not being able to <span style="color:#777"> . . . &#8594; Read More: <a href="http://blog.trollgod.org.uk/2006/02/backup-script-v2/">Backup script v2</a></span>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve rewritten my backup script in python (it was in bash) in order to make the old backup handling date-based rather than a simple iteration.  So it now renames dirs to daily.1, daily2, weekly1, monthly1 for old backups that are one day, two days, one week, one month old etc.</p>
<p>Not being able to use external programs as easily means the script is about twice as big, but I guess the fewer external dependencies is a good thing.  I&#8217;m still using ping and rsync binaries, I&#8217;d like to replace the ping with something in pure python but I&#8217;m not going to be reimplementing rsync in python <img src='http://blog.trollgod.org.uk/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> .</p>
<p>There is also now a very nice option handling system, run gkbackup -h to see all the options.  The log output is much better aswell, logging to stdout if running in a terminal and running quietly if not while also logging to a file in both cases if requested.</p>
<p>The new version is <a href="http://blog.trollgod.org.uk/linux/backupscript/">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.trollgod.org.uk/2006/02/backup-script-v2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Browsing network shares</title>
		<link>http://blog.trollgod.org.uk/2005/10/browsing-network-shares/</link>
		<comments>http://blog.trollgod.org.uk/2005/10/browsing-network-shares/#comments</comments>
		<pubDate>Sun, 02 Oct 2005 21:22:39 +0000</pubDate>
		<dc:creator>Ghworg</dc:creator>
				<category><![CDATA[Admin]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://blog.trollgod.org.uk/?p=19</guid>
		<description><![CDATA[<p>I wanted a way to browse network shares without having to mount them first or resorting to clunky guis like nautilus. So I worked out how to do it using autofs. The engine behind this being the two scripts for NFS and Samba. Combined with a standard autofs setup that references them I can <span style="color:#777"> . . . &#8594; Read More: <a href="http://blog.trollgod.org.uk/2005/10/browsing-network-shares/">Browsing network shares</a></span>]]></description>
			<content:encoded><![CDATA[<p>I wanted a way to browse network shares without having to mount them first or resorting to clunky guis like nautilus.  So I worked out how to do it using autofs.  The engine behind this being the two scripts for <a href="http://blog.trollgod.org.uk/linux/autonetnfs/">NFS</a> and <a href="http://blog.trollgod.org.uk/linux/autonetsmb/">Samba</a>.  Combined with a standard autofs setup that references them I can just browse shares by visiting &quot;/smb/$MACHINENAME/&quot; and then tab-completion works from there.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.trollgod.org.uk/2005/10/browsing-network-shares/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

