<?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>Linux &#8211; Harry Jackson</title>
	<atom:link href="http://127.0.0.1:8090/category/linux/feed" rel="self" type="application/rss+xml" />
	<link>http://127.0.0.1:8090</link>
	<description>Parent, Painter, Programmer</description>
	<lastBuildDate>Sat, 03 Mar 2012 07:00:32 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1</generator>
	<item>
		<title>Mount You must specify the filesystem type</title>
		<link>http://127.0.0.1:8090/mount_you_must_specify_the_filesystem_type.htm</link>
					<comments>http://127.0.0.1:8090/mount_you_must_specify_the_filesystem_type.htm#respond</comments>
		
		<dc:creator><![CDATA[harry]]></dc:creator>
		<pubDate>Sat, 03 Mar 2012 07:00:32 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Linux Kernel]]></category>
		<category><![CDATA[Technical]]></category>
		<guid isPermaLink="false">http://www.hjackson.org/wp/?p=403</guid>

					<description><![CDATA[I encountered this error while trying to mount an image created using qemu. The command from the docs says to run the following command to mount it on the loopback device. mount -o loop,offset=32256 debian.img ./mntpoint This is completely wrong because the data start is not 32kb into the image file. To figure out where &#8230; <p class="link-more"><a href="http://127.0.0.1:8090/mount_you_must_specify_the_filesystem_type.htm" class="more-link">Continue reading<span class="screen-reader-text"> "Mount You must specify the filesystem type"</span></a></p>]]></description>
										<content:encoded><![CDATA[<p>I encountered this error while trying to mount an image created using qemu. The command from the docs says to run the following command to mount it on the loopback device.</p>
<p></p>
<pre><b>mount -o loop,offset=32256 debian.img ./mntpoint</b><br /><br /></pre>
<p>This is completely wrong because the data start is not 32kb into the image file. To figure out where it starts you need to use the following commands:<br /><b><i><br />]$ fdisk -ul debian.img</i><br />you must set cylinders.<br />You can do this from the extra functions menu.</p>
<p>Disk debian.img: 0 MB, 0 bytes<br />255 heads, 63 sectors/track, 0 cylinders, total 0 sectors<br />Units = sectors of 1 * 512 = 512 bytes<br />Sector size (logical/physical): 512 bytes / 512 bytes<br />I/O size (minimum/optimal): 512 bytes / 512 bytes<br />Disk identifier: 0x00077ccb</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; Device Boot&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Start&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Blocks&nbsp;&nbsp; Id&nbsp; System<br />debian.img1&nbsp;&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2048&nbsp;&nbsp;&nbsp;&nbsp; 5785599&nbsp;&nbsp;&nbsp;&nbsp; 2891776&nbsp;&nbsp; 83&nbsp; Linux<br />Partition 1 does not end on cylinder boundary.<br />debian.img2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5787646&nbsp;&nbsp;&nbsp;&nbsp; 6141951&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 177153&nbsp;&nbsp;&nbsp; 5&nbsp; Extended<br />Partition 2 does not end on cylinder boundary.<br />debian.img5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5787648&nbsp;&nbsp;&nbsp;&nbsp; 6141951&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 177152&nbsp;&nbsp; 82&nbsp; Linux swap / Solaris</p>
<p></b>Once you have this output you can see that the data starts at sector 2048 and since sector size is 512 on my image I need to set the offset to 512*2048. So the final working command is<b>:</p>
<p>mount -o loop,offset=$((512*2048)) -t ext3 ./debian.img ./mntpoint</p>
<p></b>and we now have a mounted image file.<b><br /></b></p>
]]></content:encoded>
					
					<wfw:commentRss>http://127.0.0.1:8090/mount_you_must_specify_the_filesystem_type.htm/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Changing your keymap</title>
		<link>http://127.0.0.1:8090/changing-your-keymap.htm</link>
					<comments>http://127.0.0.1:8090/changing-your-keymap.htm#respond</comments>
		
		<dc:creator><![CDATA[harry]]></dc:creator>
		<pubDate>Fri, 21 Jan 2011 23:53:12 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Technical]]></category>
		<guid isPermaLink="false">http://www.hjackson.org/wp/?p=399</guid>

					<description><![CDATA[I recently had an issue where my keyboard when using synergy was inserting a double arrow instead of the usual greater than or less than sign also known as guillemotleft and guillemotright. To fix this annoying bug I added keycode 53 = x X greater greater greater greaterkeycode 52 = z Z less less less &#8230; <p class="link-more"><a href="http://127.0.0.1:8090/changing-your-keymap.htm" class="more-link">Continue reading<span class="screen-reader-text"> "Changing your keymap"</span></a></p>]]></description>
										<content:encoded><![CDATA[<p>I recently had an issue where my keyboard when using synergy was inserting a double arrow instead of the usual greater than or less than sign also known as <span class="com">guillemotleft</span> and <span class="com">guillemotright. </p>
<p>To fix this annoying bug I added <br /></span><span class="com"><br /></span>keycode 53 = x X greater greater greater greater<br />keycode 52 = z Z less less less less<br />keycode 24 = q Q at at at at</p>
<p>to a .Xmodmap in my home directory. If you are wondering how to find the keycodes etc you can use <b>xev</b>. To start it without restarting X use</p>
<p>xmodmap .Xmodmap</p>
]]></content:encoded>
					
					<wfw:commentRss>http://127.0.0.1:8090/changing-your-keymap.htm/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Exim4 Unrouteable Address</title>
		<link>http://127.0.0.1:8090/exim4_unrouteable_address.htm</link>
					<comments>http://127.0.0.1:8090/exim4_unrouteable_address.htm#comments</comments>
		
		<dc:creator><![CDATA[harry]]></dc:creator>
		<pubDate>Sun, 19 Jul 2009 19:17:36 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Rant]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[Exim]]></category>
		<guid isPermaLink="false">http://www.hjackson.org/wp/?p=389</guid>

					<description><![CDATA[I have no idea when or why this started happening for me but I started getting Unrouteable address appearing for any external address. I&#8217;m a huge fan of Debian but there are some things that really piss me off. One is the way they have completely screwed the exim4 configuration. Exim4, if you are not &#8230; <p class="link-more"><a href="http://127.0.0.1:8090/exim4_unrouteable_address.htm" class="more-link">Continue reading<span class="screen-reader-text"> "Exim4 Unrouteable Address"</span></a></p>]]></description>
										<content:encoded><![CDATA[<p>I have no idea when or why this started happening for me but I started getting <b>Unrouteable address</b> appearing for any external address.</p>
<p>I&#8217;m a huge fan of Debian but there are some things that really piss me off. One is the way they have completely screwed the exim4 configuration. Exim4, if you are not an administrator or mail guru is not the simplest thing in the world to configure, it&#8217;s config file is fairly involved and you can do anything in it. Add DEBCONF variables to this and you have a complete nightmare configuration.I spent two days tracking this error down to the following:</p>
<p>DCconfig_internet=1</p>
<p>That was all I had to add to /etc/exim4/exim4.conf.template</p>
<p>Why this changed I have no idea. The setting I am using in /etc/exim4/update-exim4.conf.conf is</p>
<p>dc_eximconfig_configtype=&#8217;internet&#8217;</p>
<p>I really cannot make head nor tail out of this at all. I sometimes wish I had started learning Postfix instead of Exim but part of me thinks that it&#8217;s not Exim but rather the way it has been packaged up thats compicated.</p>
]]></content:encoded>
					
					<wfw:commentRss>http://127.0.0.1:8090/exim4_unrouteable_address.htm/feed</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Error opening video_out vo device</title>
		<link>http://127.0.0.1:8090/error-opening-video-out-vo-device.htm</link>
					<comments>http://127.0.0.1:8090/error-opening-video-out-vo-device.htm#respond</comments>
		
		<dc:creator><![CDATA[harry]]></dc:creator>
		<pubDate>Sat, 22 Nov 2008 20:55:12 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[mplayer]]></category>
		<guid isPermaLink="false">http://www.hjackson.org/wp/?p=373</guid>

					<description><![CDATA[If you get the above erro then check the following file $ grep vo_driver $HOME/.mplayer/gui.confvo_driver = &#8220;xmga&#8221; It should read: vo_driver = &#8220;x11&#8221;]]></description>
										<content:encoded><![CDATA[<p>If you get the above erro then check the following file</p>
<p>$ grep vo_driver $HOME/.mplayer/gui.conf<br />vo_driver = &#8220;xmga&#8221;</p>
<p>It should read:</p>
<p>vo_driver = &#8220;x11&#8221;</p>
]]></content:encoded>
					
					<wfw:commentRss>http://127.0.0.1:8090/error-opening-video-out-vo-device.htm/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>SSH stdin is not a tty</title>
		<link>http://127.0.0.1:8090/ssh-stdin-is-not-a-tty.htm</link>
					<comments>http://127.0.0.1:8090/ssh-stdin-is-not-a-tty.htm#respond</comments>
		
		<dc:creator><![CDATA[harry]]></dc:creator>
		<pubDate>Sun, 19 Oct 2008 00:22:55 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[Debian SSH Chroot]]></category>
		<guid isPermaLink="false">http://www.hjackson.org/wp/?p=370</guid>

					<description><![CDATA[I started getting the following error when trying to ssh into a chroot on a debian machine. stdin: is not a tty I fixed it using the following entry in /etc/fstab devpts /dev/pts devpts mode=0620,gid=5 0 0 I&#8217;m positive this is not the way I should have fixed it but it works!]]></description>
										<content:encoded><![CDATA[<p>I started getting the following error when trying to ssh into a chroot on a debian machine.</p>
<p><b>stdin: is not a tty</b></p>
<p>I fixed it using the following entry in <b>/etc/fstab</b></p>
<p><b>devpts /dev/pts devpts mode=0620,gid=5 0 0</b></p>
<p>I&#8217;m positive this is not the way I should have fixed it but it works!</p>
]]></content:encoded>
					
					<wfw:commentRss>http://127.0.0.1:8090/ssh-stdin-is-not-a-tty.htm/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Debian alternatives and Java</title>
		<link>http://127.0.0.1:8090/debian-alternatives-and-java.htm</link>
					<comments>http://127.0.0.1:8090/debian-alternatives-and-java.htm#respond</comments>
		
		<dc:creator><![CDATA[harry]]></dc:creator>
		<pubDate>Wed, 03 Sep 2008 04:18:12 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Rant]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[Tomcat Debian Java]]></category>
		<guid isPermaLink="false">http://www.hjackson.org/wp/?p=369</guid>

					<description><![CDATA[The alternaitives system in Debian is a pain in the arse! It&#8217;s one of those things that when you need to use it you spend twenty minutes trying to figure out why various paths etc have changed and then you need to figure out the syntax to change to the path that was working before &#8230; <p class="link-more"><a href="http://127.0.0.1:8090/debian-alternatives-and-java.htm" class="more-link">Continue reading<span class="screen-reader-text"> "Debian alternatives and Java"</span></a></p>]]></description>
										<content:encoded><![CDATA[<p>The alternaitives system in Debian is a pain in the arse! It&#8217;s one of those things that when you need to use it you spend twenty minutes trying to figure out why various paths etc have changed and then you need to figure out the syntax to change to the path that was working before you installed Tomcat or some other related system that downloads a bunch of stuff and sets itself up as default for the rest of the system. It&#8217;s a tad irritating. </p>
<p>I am not saying I know a better way to do it but it still pisses me off. Anyway to use a sane version of java I had to run the following command to get eclipse working again.</p>
<p>$:~# update-alternatives &#8211;install /usr/bin/java java /usr/local/sdk-5_05/jdk 1<br />$:~# update-alternatives &#8211;list java<br />/usr/lib/jvm/java-gcj/jre/bin/java<br />/usr/local/sdk-5_05/jdk<br />$:~# update-alternatives &#8211;remove java /usr/lib/jvm/java-gcj/jre/bin/java</p>
<p>I now have eclipse working again and tomcat installed. I was going to use jetty6 over tomcat but because Debian comes bundled with a binary tomcat distribution I have decided&nbsp; to use it. This decision may cost me dearly later.</p>
<p></p>
]]></content:encoded>
					
					<wfw:commentRss>http://127.0.0.1:8090/debian-alternatives-and-java.htm/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>BASH set comment output</title>
		<link>http://127.0.0.1:8090/bash_set_comment_output.htm</link>
					<comments>http://127.0.0.1:8090/bash_set_comment_output.htm#respond</comments>
		
		<dc:creator><![CDATA[harry]]></dc:creator>
		<pubDate>Sat, 03 May 2008 19:38:30 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[bash]]></category>
		<guid isPermaLink="false">http://www.hjackson.org/wp/?p=364</guid>

					<description><![CDATA[If you ever run the set command and get any of the function definitions listed at the bottom of this entry then check your .bashrc file for the following entry. # enable programmable completion features (you don&#8217;t need to enable# this, if it&#8217;s already enabled in /etc/bash.bashrc and /etc/profile# sources /etc/bash.bashrc).if [ -f /etc/bash_completion ]; &#8230; <p class="link-more"><a href="http://127.0.0.1:8090/bash_set_comment_output.htm" class="more-link">Continue reading<span class="screen-reader-text"> "BASH set comment output"</span></a></p>]]></description>
										<content:encoded><![CDATA[<p>If you ever run the set command and get any of the function definitions listed at the bottom of this entry then check your .bashrc file for the following entry.</p>
<p># enable programmable completion features (you don&#8217;t need to enable<br /># this, if it&#8217;s already enabled in /etc/bash.bashrc and /etc/profile<br /># sources /etc/bash.bashrc).<br />if [ -f /etc/bash_completion ]; then<br />&nbsp;&nbsp;&nbsp; . /etc/bash_completion<br />fi</p>
<p>If it is not commented out then it is likely that name completion has been activated elsewhere. Comment it out and start a new shell to see if it helps.</p>
<p>_alias&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _lvresize<br />_apt_cache&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _lvs<br />_apt_get&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _lvscan<br />_aptitude&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _make<br />_args&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _man<br />_aspell&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _mkisofs<br />_aspell_dictionary&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _modules<br />_available_interfaces&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _mount<br />_bzip2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _mplayer<br />_cancel&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _mplayer_options_list<br />_cardctl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _nslookup<br />_cd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _ntpdate<br />_cdrecord&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _ooexp_<br />_chgrp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _openssl<br />_chown&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _openssl_sections<br />_chsh&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _perl<br />_command&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _perldoc&#8230;&#8230;&#8230;etc</p>
]]></content:encoded>
					
					<wfw:commentRss>http://127.0.0.1:8090/bash_set_comment_output.htm/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Upgrading Woody to Sarge</title>
		<link>http://127.0.0.1:8090/upgrading_woody_to_sarge.htm</link>
					<comments>http://127.0.0.1:8090/upgrading_woody_to_sarge.htm#respond</comments>
		
		<dc:creator><![CDATA[harry]]></dc:creator>
		<pubDate>Sat, 11 Jun 2005 06:06:04 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[Install]]></category>
		<guid isPermaLink="false">http://www.hjackson.org/wp/?p=273</guid>

					<description><![CDATA[Debian have just released sarge as the new stable distribution which means I need to start upgrading my machines. Before I upgraded the main machine though I decided to run through it on a UML machine first to see where the gotchas are. Things to watch out for 1. The sshd config file gets an &#8230; <p class="link-more"><a href="http://127.0.0.1:8090/upgrading_woody_to_sarge.htm" class="more-link">Continue reading<span class="screen-reader-text"> "Upgrading Woody to Sarge"</span></a></p>]]></description>
										<content:encoded><![CDATA[<p>Debian have just released sarge as the new stable distribution which means I need to start upgrading my machines. Before I upgraded the main machine though I decided to run through it on a UML machine first to see where the gotchas are.<br />
Things to watch out for<br />
1. The sshd config file gets an extra parameter added to it ie.<br />
UsePAM yes<br />
When I tested ssh after the upgrade I was unable to log into the machine and I found that I had to remove this option or set it to &#8220;no&#8221; to get ssh to work. This surprised me because I was not expecting Debian to modify config file without my knowledge.<br />
2. The <b>RECORD</b> option is no longer valid<br />
xinetd[5691]: Bad log_on_failure flag: RECORD [file=/etc/xinetd.conf] [line=13]<br />
xinetd[5691]: A fatal error was encountered while parsing the default section. xinetd will exit.<br />
xinetd[5691]: Exiting&#8230;<br />
this prevents xinetd from starting up. This was also noticed while testing the machine after the upgrade.<br />
What follows is roughly the files the upgrade offered to update to new versions. Since I had modified most of these I selected the default option which is &#8220;N&#8221; ie do not upgrade to the maintainers version. This may have been the reason the ssh upgrade wasn&#8217;t too smooth. However I would not recommend taking the maintainers version if you have customized the files.<br />
Configuration file `/etc/pam.d/login&#8217;<br />
Configuration file `/etc/securetty&#8217;<br />
Configuration file `/etc/pam.d/passwd&#8217;<br />
Configuration file `/etc/bash.bashrc&#8217;<br />
Configuration file `/etc/init.d/sysklogd&#8217;<br />
Configuration file `/etc/services&#8217;<br />
Configuration file `/etc/init.d/bind9&#8242;<br />
Configuration file `/etc/bind/named.conf&#8217;<br />
Configuration file `/etc/bind/db.root&#8217;<br />
Configuration file `/etc/init.d/xinetd&#8217;<br />
Configuration file `/etc/xinetd.conf&#8217;<br />
During the upgrade you may also be asked to add any users and groups that are<br />
missing from the default debian lot. The following bits are just the output of some other configurations options and warnings of things that have changed between the woody and sarge.<br />
Configuring ssh<br />
Environment options on keys have been deprecated This version of OpenSSH<br />
disables the environment option for public keys by default, in order to avoid<br />
certain attacks (for example, LD_PRELOAD). If you are using this option in an<br />
authorized_keys file, beware that the keys in question will no longer work<br />
until the option is removed. To re-enable this option, set<br />
&#8220;PermitUserEnvironment yes&#8221; in /etc/ssh/sshd_config after the upgrade is<br />
complete, taking note of the warning in the sshd_config(5) manual page.</p>
<p>Configuring man-db<br />
This version of man-db is incompatible with your existing database of manual<br />
page descriptions, so that database needs to be x rebuilt. This may take some<br />
time, depending on how many pages you have installed; it will happen in the<br />
background, possibly slowing down the installation of other packages. If you do<br />
not build the database now, it will be built the next time<br />
/etc/cron.weekly/mandb runs, or you can do it yourself using &#8216;mandb -c&#8217; as user<br />
&#8216;man&#8217;. In the meantime, the &#8216;whatis&#8217; and &#8216;apropos&#8217; commands will not be able to<br />
display any output. Incompatible changes like this should happen rarely. Should<br />
mandb build its database now?</p>
<p>So far I have upgraded two machines and had the same trouble with ssh and xinetd both times. If I encounter any mmore trouble I will add more here.</p>
]]></content:encoded>
					
					<wfw:commentRss>http://127.0.0.1:8090/upgrading_woody_to_sarge.htm/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Postgresql oom-killer</title>
		<link>http://127.0.0.1:8090/postgresql_oomkiller.htm</link>
					<comments>http://127.0.0.1:8090/postgresql_oomkiller.htm#respond</comments>
		
		<dc:creator><![CDATA[harry]]></dc:creator>
		<pubDate>Mon, 20 Dec 2004 01:08:13 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[Kernel]]></category>
		<category><![CDATA[oom-killer]]></category>
		<category><![CDATA[Postgresql]]></category>
		<guid isPermaLink="false">http://www.hjackson.org/wp/?p=233</guid>

					<description><![CDATA[I have never seen the oom-killer before. I had heard stories from battle hardened veterans about their tussles with the beast but these stories where all just myths to me, until today, when the beastie raised its head in my logs. Dec 20 18:08:50 debian kernel: oom-killer: gfp_mask=0x1d2 59071 Dec 20 18:08:51 debian kernel: DMA &#8230; <p class="link-more"><a href="http://127.0.0.1:8090/postgresql_oomkiller.htm" class="more-link">Continue reading<span class="screen-reader-text"> "Postgresql oom-killer"</span></a></p>]]></description>
										<content:encoded><![CDATA[<p>I have never seen the oom-killer before. I had heard stories from battle hardened veterans about their tussles with the beast but these stories where all just myths to me, until today, when the beastie raised its head in my logs.<br />
Dec 20 18:08:50 debian kernel: oom-killer: gfp_mask=0x1d2<br />
59071 Dec 20 18:08:51 debian kernel: DMA per-cpu:<br />
59072 Dec 20 18:08:51 debian kernel: cpu 0 hot: low 2, high 6, batch 1<br />
59073 Dec 20 18:08:51 debian kernel: cpu 0 cold: low 0, high 2, batch 1<br />
59074 Dec 20 18:08:51 debian kernel: Normal per-cpu:<br />
59075 Dec 20 18:08:51 debian kernel: cpu 0 hot: low 32, high 96, batch 16<br />
59076 Dec 20 18:08:51 debian kernel: cpu 0 cold: low 0, high 32, batch 16<br />
59077 Dec 20 18:08:51 debian kernel: HighMem per-cpu:<br />
59078 Dec 20 18:08:51 debian kernel: cpu 0 hot: low 14, high 42, batch 7<br />
59079 Dec 20 18:08:51 debian kernel: cpu 0 cold: low 0, high 14, batch 7<br />
59080 Dec 20 18:08:51 debian kernel:<br />
59081 Dec 20 18:08:51 debian kernel: Free pages:        1040kB (112kB HighMem)<br />
59082 Dec 20 18:08:51 debian kernel: Active:253987 inactive:249 dirty:0 writeback:5 unstable:0 free:260 slab:2326 mapped:254        013 pagetables:680<br />
59083 Dec 20 18:08:52 debian kernel: DMA free:16kB min:16kB low:32kB high:48kB active:12296kB inactive:0kB present:16384kB<br />
59084 Dec 20 18:08:52 debian kernel: protections[]: 0 0 0<br />
59085 Dec 20 18:08:52 debian kernel: Normal free:912kB min:936kB low:1872kB high:2808kB active:873984kB inactive:996kB prese        nt:901120kB<br />
59086 Dec 20 18:08:52 debian kernel: protections[]: 0 0 0<br />
59087 Dec 20 18:08:52 debian kernel: HighMem free:112kB min:128kB low:256kB high:384kB active:129668kB inactive:0kB present:        131008kB<br />
59088 Dec 20 18:08:52 debian kernel: protections[]: 0 0 0<br />
59089 Dec 20 18:08:52 debian kernel: DMA: 0*4kB 0*8kB 1*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096k        B = 16kB<br />
59090 Dec 20 18:08:52 debian kernel: Normal: 0*4kB 0*8kB 1*16kB 2*32kB 1*64kB 0*128kB 1*256kB 1*512kB 0*1024kB 0*2048kB 0*40        96kB = 912kB<br />
59091 Dec 20 18:08:52 debian kernel: HighMem: 0*4kB 0*8kB 1*16kB 1*32kB 1*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4        096kB = 112kB<br />
59092 Dec 20 18:08:52 debian kernel: Swap cache: add 848298, delete 845230, find 151472/187493, race 0+3<br />
59093 Dec 20 18:08:52 debian kernel: Out of Memory: Killed process 6332 (postmaster).<br />
It would appear I was being a bit greedy with Postgres.</p>
]]></content:encoded>
					
					<wfw:commentRss>http://127.0.0.1:8090/postgresql_oomkiller.htm/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Writing Linux Device Drivers</title>
		<link>http://127.0.0.1:8090/writing_linux_device_drivers.htm</link>
					<comments>http://127.0.0.1:8090/writing_linux_device_drivers.htm#respond</comments>
		
		<dc:creator><![CDATA[harry]]></dc:creator>
		<pubDate>Wed, 24 Nov 2004 06:14:22 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[Device Drivers]]></category>
		<category><![CDATA[Kernel]]></category>
		<guid isPermaLink="false">http://www.hjackson.org/wp/?p=213</guid>

					<description><![CDATA[I lost my internet connection at the weekend and was at a bit of a loss as to what I could do so I decided to take a pop at writing a simple module for the Linux kernel. I have a copy of Beginning Linux Programming ISBN: 1861002971 Authors: Richard Stevens and Neil Matthew Ed: &#8230; <p class="link-more"><a href="http://127.0.0.1:8090/writing_linux_device_drivers.htm" class="more-link">Continue reading<span class="screen-reader-text"> "Writing Linux Device Drivers"</span></a></p>]]></description>
										<content:encoded><![CDATA[<p>I lost my internet connection at the weekend and was at a bit of a loss as to what I could do so I decided to take a pop at writing a simple module for the Linux kernel. I have a copy of<br />
Beginning Linux Programming<br />
ISBN: 1861002971<br />
Authors: Richard Stevens and Neil Matthew<br />
Ed: 2nd<br />
so I turned to the back of it and started my foray into the Kernel. Now you need to remember that I am not a C programmer by trade and turning to the back of this book was a keen reminder of just how rusty my C is getting, not that it was ever rust free.<br />
Luckily for me I have another book that is considered the C bible ie K&amp;R and it deserves its reputation, it is a classic and I would recommend any programmer regardless of language choice to have a flick through it. When I was looking at some odd construct that those pointy hats had invented I had a flick through K&amp;R  and soon sorted it out.<br />
Anyway back to the kernel. I was quick to discover that writing a module for the 2.6 kernel is not quite as straight forward as copying from the book and trying to understand what was going on. Things have been changing and I was getting all sorts of weird (or at least to me) and wonderful errors when trying to compile the kernel.<br />
I eventually started to have a read at the recent modules in the source for 2.6.5 which I am running on this box. I also have the source for a 2.4 kernel on here so I opened 2 character drivers and compared notes between them. This is where I started to notice things that had changed. I made the changes I thought where necessary and I managed to get most of the &#8220;Hello World&#8221; module compiling but I was still getting errors.<br />
I had a hunt around and I found a reference to some new build procedures for 2.6.5 so off I went in search of kbuild documentation and found some more stuff that had changed in the kernel. Namely the build procedure. This part was actually harder than the C that I had been struggling with.<br />
After much swearing (I hate Makefiles and adding some more sugar is a pain in the ass) I managed to get the module compiling and I was on my way.<br />
After a days work I now had a module that, on load would say<br />
&#8220;Hello World&#8221;<br />
and on removal<br />
&#8220;Goodbye World&#8221;<br />
time well spent or not? I haven&#8217;t decided yet. I wonder how often changes like this take place in the kernel and how much porting takes place because of it.<br />
Where to go from here. I asked a few friends who know more about this stuff than I do and I got mixed advice about continuing. Some of them think the kernel is a mess because they are always changing the driver API among other things. I cannot comment because my knowledge of the Linux kernel is limited to spelling it and I sometimes get that wrong.<br />
I did get some useful pointers though. The following is the best book I have found so far for someone like me who is just starting out in the kernel.<br />
<a href="http://www.xml.com/ldd/chapter/book/index.html">Linux Device Drivers, 2nd Edition</a><br />
It is written for the 2.4 kernel but has a wealth of information that is still valid today. I have started porting the scull drivers from this to the 2.6 kernel I am running and it is proving very interesting. I printed off chapter 2 and 3 yesterday and have have almost finished them (40 mins from Luton to London on the train each way helps). So far it seems to be moving along at a fair old pace, I am just hoping I can keep up.<br />
I could have done with the following at the weekend. This tells me what I needed to know about moving from 2.4 to 2.6. I can see myself using this a lot in the next few weeks.<br />
<a href="http://lwn.net/Articles/driver-porting/">Driver Porting</a></p>
]]></content:encoded>
					
					<wfw:commentRss>http://127.0.0.1:8090/writing_linux_device_drivers.htm/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
