<?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>UKFast Blog &#187; Linux</title>
	<atom:link href="http://blog.ukfast.co.uk/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.ukfast.co.uk</link>
	<description>News and views from the UK&#039;s best hosting provider</description>
	<lastBuildDate>Fri, 10 Feb 2012 13:14:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Virtualisation Driving Enterprise Linux Growth</title>
		<link>http://blog.ukfast.co.uk/2012/01/19/virtualisation-driving-enterprise-linux-growth/</link>
		<comments>http://blog.ukfast.co.uk/2012/01/19/virtualisation-driving-enterprise-linux-growth/#comments</comments>
		<pubDate>Thu, 19 Jan 2012 16:04:08 +0000</pubDate>
		<dc:creator>Alice Cullen</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://blog.ukfast.co.uk/?p=9490</guid>
		<description><![CDATA[Big data and virtualisation are driving growth for Linux in enterprise, according to the latest survey from the Linux Foundation. &#8216;Linux Adoption and Trends 2012: A Survey of Enterprise and End Users&#8217; from the Linux Foundation and the Yeoman Group, revealed that the two emerging trends are driving the growth of the technology. The survey [...]]]></description>
			<content:encoded><![CDATA[<p>Big data and virtualisation are driving growth for Linux in enterprise, according to the latest survey from the Linux Foundation.</p>
<p><a href="http://blog.ukfast.co.uk/wp-content/uploads/2012/01/Linux-Foundation.jpg"><img class="alignright size-medium wp-image-9491" title="Linux Foundation Penguin" src="http://blog.ukfast.co.uk/wp-content/uploads/2012/01/Linux-Foundation-300x183.jpg" alt="the Linux Foundation logo with penguin" width="300" height="183" /></a></p>
<p>&#8216;Linux Adoption and Trends 2012: A Survey of Enterprise and End Users&#8217; from the Linux Foundation and the Yeoman Group, revealed that the two emerging trends are driving the growth of the technology.</p>
<p>The survey showed that 75% of these were concerned about the growth of data. Of these, 72% revealed that they are choosing Linux to support this.</p>
<p>Of users in the cloud, 66% are using Linux as their primary platform &#8211; an increase of 4.7% of last year. &#8220;Going forward, 34.9% of organizations are planning to migrate more applications to the cloud, up from 26% last year,&#8221; the report says.</p>
<p>Seventy-two percent of organizations expect to have a quarter or more of their servers virtualized by the end of the year, and more than 46% of the organizations plan to have half or more of their platforms virtualized by year&#8217;s end.</p>
<p>One of the key findings of the report is that more than 8 out of 10 of existing enterprise Linux users have expanded their usage over the past 12 months and plan to add more in the coming year.</p>
<p>Although there were 1,893 respondents to the survey, the results were calculated from responses from 428 IT professionals from organisations across the world with an annual revenue of more than $500 million or more than 500 employees.</p>
<p>Download the full report from the <a href="http://www.linuxfoundation.org/news-media/announcements/2012/01/linux-foundation-releases-enterprise-linux-user-report" title="Linux Foundation report" target="_blank">Linux Foundation</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ukfast.co.uk/2012/01/19/virtualisation-driving-enterprise-linux-growth/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DWP to Trial Open-Source</title>
		<link>http://blog.ukfast.co.uk/2011/12/09/dwp-to-trial-open-source/</link>
		<comments>http://blog.ukfast.co.uk/2011/12/09/dwp-to-trial-open-source/#comments</comments>
		<pubDate>Fri, 09 Dec 2011 09:05:06 +0000</pubDate>
		<dc:creator>Alice Cullen</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://blog.ukfast.co.uk/?p=9288</guid>
		<description><![CDATA[The Department for Work and Pensions &#8211; one of Whitehall&#8217;s biggest spending departments &#8211; will run trials of open-source software next year. &#8220;It is the department&#8217;s intention to trial within the next 12 months, a pilot of up to 1,000 desktops to test proof of concept for open source,&#8221; a DWP spokeswoman told The Guardian [...]]]></description>
			<content:encoded><![CDATA[<p>The Department for Work and Pensions &#8211; one of Whitehall&#8217;s biggest spending departments &#8211; will run trials of open-source software next year.</p>
<p>&#8220;It is the department&#8217;s intention to trial within the next 12 months, a pilot of up to 1,000 desktops to test proof of concept for open source,&#8221; a DWP spokeswoman told The Guardian</p>
<p>The DWP currently uses computers running Windows XP, Microsoft Office and Internet Explorer 6.</p>
<p>The top three suppliers to the department at the moment are IBM, HP and BT but last month the Cabinet Office published an open-source ‘procurement toolkit’ for the public sector on its website with the purpose of levelling the playing field for open-source and proprietary software. </p>
<p>Open-source has been a hot topic around government IT recently and has been used as the proof of the current government’s commitment to new technologies. </p>
<p>The DWP&#8217;s Mike Truran spoke about the initiative at the Datacenter Dynamics Convergence conference. Quoted in a report by ComputerWeekly, he explained that the department is committed to open source – in line with the coalition government&#8217;s IT strategy.</p>
<p>He said that &#8220;If the pilot works we will take it forward.&#8221; As the toolkit published clearly states, cost savings from avoiding proprietary software are not the only motivation for the government to encourage the use of open source; another important aspect is to encourage competition and improve control over IT projects by preventing ‘vendor lock-in’.</p>
<p>Additionally, the government&#8217;s ICT Asset and Services Knowledgebase, which will be used to record the reuse of existing open-source solutions, will be launched in the new year, following a tender in July.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ukfast.co.uk/2011/12/09/dwp-to-trial-open-source/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Is Firefox About to Burn Out?</title>
		<link>http://blog.ukfast.co.uk/2011/12/09/is-firefox-about-to-burn-out/</link>
		<comments>http://blog.ukfast.co.uk/2011/12/09/is-firefox-about-to-burn-out/#comments</comments>
		<pubDate>Fri, 09 Dec 2011 08:04:18 +0000</pubDate>
		<dc:creator>Alice Cullen</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://blog.ukfast.co.uk/?p=9267</guid>
		<description><![CDATA[Google Chrome has overtaken Mozilla&#8217;s Firefox as the second most popular internet browser, just as a crucial deal between the two companies is due for renewal. In the three years since its launch Chrome&#8217;s market share has grown to 26.76% giving it the edge over Firefox&#8217;s current 25.49% share. The tech media have since been [...]]]></description>
			<content:encoded><![CDATA[<p>Google Chrome has overtaken Mozilla&#8217;s Firefox as the second most popular internet browser, just as a crucial deal between the two companies is due for renewal.</p>
<p>In the three years since its launch Chrome&#8217;s market share has grown to 26.76% giving it the edge over Firefox&#8217;s current 25.49% share. The tech media have since been a flurry of damning headlines and condemning stories bringing doomsday to the Mozilla browser. What is much more concerning is not the market share.</p>
<p>Figures by web analytics firm StatCounter, show that Firefox&#8217;s market share has actually stayed quite steady since Chrome’s 2008 launch; from around 26.14% at the time of the Chrome launch to a peak of almost 32% in January 2010 and back to a level of 25.49% now. Whereas Microsoft&#8217;s Internet Explorer &#8211; the top dog in browsers since, well, forever, has seen a sharp decline in market share over the same period.</p>
<p>So Chrome&#8217;s gain has largely been Microsoft&#8217;s loss, rather than Mozilla&#8217;s. </p>
<p>The big snag for Firefox is their uncertain future with Google. Mozilla has maintained a five-year relationship with the search-giants, feeding them search users in a deal that generated around 80% of The Mozilla Foundation&#8217;s revenue last year.</p>
<p>This search referral deal was up for renewal in November and so far an agreement has not been made, prompting many to suspect a lengthy rebalancing of their financial relationship is in the pipeline.</p>
<p>A spokesperson for Mozilla told <a href="http://www.pcpro.co.uk/news/371563/update-crucial-firefox-google-deal-in-doubt" title="PCPro " target="_blank">PCPro</a> that the Google negotiations are still in progress: &#8220;We currently have partnerships with a number of search providers that differ by market, including major search partners including Google, Bing, Yahoo, Yandex, Amazon, eBay and others.&#8221;</p>
<p>&#8220;Our search relationship with Google remains positive for both of us. We are in active negotiations and have nothing further to announce at this time,&#8221; Mozilla said. &#8220;We have every confidence that search partnerships will continue to be a strong and growing generator of revenue for the foreseeable future.&#8221; </p>
<p>Should the renewal talks between the two companies fall through, a potentially strategic move from Google could see the foundation &#8211; and, not forgetting, one of Google Chrome’s main rivals &#8211;  left without the bulk of its revenue. </p>
<p>Superhero rescues for Firefox could emerge in the shape of a lucrative deal expanding their smaller relationship with Microsoft’s Bing, or any of their other current search partners.</p>
<p>What is quite clear is that Mozilla is worried; the company has just released a short video entitled &#8216;The Mozilla Story&#8217; reminding users of the organization&#8217;s roots as a community project and the importance of Firefox as an open-source Web browser backed by a non-profit organization.</p>
<p>One thing is for sure, it would be a real shame to lose an organisation that is so dedicated to creating a &#8216;better internet&#8217; when so many large companies are focused on the commercial potential of innovations rather than their impact.</p>
<p>Watch &#8216;<a href="http://www.youtube.com/watch?v=kmk43_2dtn0" title="YouTube: The Mozilla Story" target="_blank">The Mozilla Story</a>&#8216;. </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ukfast.co.uk/2011/12/09/is-firefox-about-to-burn-out/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Canonical Release First Ubuntu 12.04 Alpha</title>
		<link>http://blog.ukfast.co.uk/2011/12/07/canonical-release-first-ubuntu-12-04-alpha/</link>
		<comments>http://blog.ukfast.co.uk/2011/12/07/canonical-release-first-ubuntu-12-04-alpha/#comments</comments>
		<pubDate>Wed, 07 Dec 2011 15:39:52 +0000</pubDate>
		<dc:creator>Alice Cullen</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://blog.ukfast.co.uk/?p=9257</guid>
		<description><![CDATA[Canonical has released the first alpha build of Ubuntu 12.04, calling it &#8216;Precise Pangolin&#8217;. The release, based around the Linux Kernel 3.2, will be a long term support (LTS) release and is available for x86 and 64bit platforms. The code also includes version 9 of both Firefox and Thunderbird from Mozilla. Kate Stewart, Ubuntu release [...]]]></description>
			<content:encoded><![CDATA[<p>Canonical has released the first alpha build of Ubuntu 12.04, calling it &#8216;Precise Pangolin&#8217;.</p>
<p>The release, based around the Linux Kernel 3.2, will be a long term support (LTS) release and is available for x86 and 64bit platforms. The code also includes version 9 of both Firefox and Thunderbird from Mozilla.</p>
<p>Kate Stewart, Ubuntu release manager warned that the latest release is not an appropriate option for novice Linux users, in a blog post saying: &#8220;Pre-releases of Precise Pangolin are NOT encouraged for anyone needing a stable system or anyone who is not comfortable running into occasional, even frequent breakage. </p>
<p>&#8220;They are, however, recommended for Ubuntu developers and those who want to help in testing, reporting, and fixing bugs as we work towards getting this LTS release ready.&#8221;</p>
<p>There is still a lot of work to do before the LTS release scheduled for the spring; when the work first started there was a list of 2,237 tasks, only 339 of these have been completed and 41 have been postponed so there is still plenty for developers to be working on.</p>
<p>Canonical boss Mark Shuttleworth had previously commented on the development of the latest release in his blog, explaining the importance of the full release for cloud computing technologies.</p>
<p>He said &#8220;Ubuntu is the #1 OS for cloud computing, whether you measure it by the number of instances running on all the major public clouds, the number of Ubuntu-based cloud appliances, the number of public and private clouds running on Ubuntu host OS. </p>
<p>&#8220;The extraordinary diversity of the Ubuntu community, the calibre of collaboration between Ubuntu and OpenStack, and the focused efforts of Canonical to make Ubuntu useful in the cloud have all contributed to that position.&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ukfast.co.uk/2011/12/07/canonical-release-first-ubuntu-12-04-alpha/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Open Standards Plan Needed for Government Open Source</title>
		<link>http://blog.ukfast.co.uk/2011/09/16/open-standards-plan-needed-for-government-open-source/</link>
		<comments>http://blog.ukfast.co.uk/2011/09/16/open-standards-plan-needed-for-government-open-source/#comments</comments>
		<pubDate>Fri, 16 Sep 2011 08:27:51 +0000</pubDate>
		<dc:creator>Pingu</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://blog.ukfast.co.uk/?p=8642</guid>
		<description><![CDATA[There has been plenty of talk about the government reducing costs by following an open source strategy recently but TechEye has discovered that in practice the proprietary software companies are still appearing as top choice for IT procurement. MP Tom Watson is having a major challenge persuading a large scale shift to open source, despite [...]]]></description>
			<content:encoded><![CDATA[<p>There has been plenty of talk about the government reducing costs by following an open source strategy recently but TechEye has discovered that in practice the proprietary software companies are still appearing as top choice for IT procurement.</p>
<p>MP Tom Watson is having a major challenge persuading a large scale shift to open source, despite promises by Cabinet Officer Francis Maude.</p>
<p>Maude has said that there needs to be a level playing field for open source to reduce public spending and Watson is very keen to see this become a reality.</p>
<p>TechEye spoke to Gerry Gavigan at the Open Source Consortium to find out why it appears so difficult to bring about change.</p>
<p>Gavigan believes that the issue is about guidance across the many areas of government and a failure to advise the right people and an inability to co-operate on procurement.</p>
<p>He told <em>TechEye </em>that the problem arises from a lack of force from the Cabinet Office in putting open standards and interoperability in place.</p>
<p>“When you look across government it is hard to see any strategic decisions being made. The government needs to make an overriding decision on the implementation of open standards before open source software can gain a foothold. Without this using open source software can actually cost more.”</p>
<p>This appears to be the problem. Because departments are used to finding their own IT solutions they are actually discovering that individual set-ups in open source are more expensive than their proprietary counterparts.</p>
<p>Gavigan told TechEye; “The Cabinet Office is supposed to be the strategic arm of government, but it needs an overarching strategy on open standards if open source is to work. If this can be done then the benefits are clear, interoperability will save money over time.”</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ukfast.co.uk/2011/09/16/open-standards-plan-needed-for-government-open-source/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux Hit by Serious Security Breach</title>
		<link>http://blog.ukfast.co.uk/2011/09/15/linux-hit-by-serious-security-breach/</link>
		<comments>http://blog.ukfast.co.uk/2011/09/15/linux-hit-by-serious-security-breach/#comments</comments>
		<pubDate>Thu, 15 Sep 2011 13:26:07 +0000</pubDate>
		<dc:creator>Liz Walker</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://blog.ukfast.co.uk/?p=8634</guid>
		<description><![CDATA[The Linux Foundation infrastructure which includes LinuxFoundation.org, Linux.com and subdomains are still offline following a security breach discovered on the 8th September. This follows, and is believed to be related to, the hack on a number of servers in the Kernel.org infrastructure back in August. This site was also strategically taken offline &#8220;in the interest [...]]]></description>
			<content:encoded><![CDATA[<div>
<div>
<div>
<div>
<p>The Linux Foundation infrastructure which includes <a href="http://www.LinuxFoundation.org" target="_blank">LinuxFoundation.org</a>, <a href="http://www.linux.com" target="_blank">Linux.com</a> and subdomains are still offline following a security breach discovered on the 8th September.</p>
<p>This follows, and is believed to be related to, the hack on a number of servers in the Kernel.org infrastructure back in August. This site was also strategically taken offline &#8220;in the interest of extreme caution and security best practices&#8221; according to a note left on all the affected websites by the Linux Foundation.</p>
<p>The Hacker News believes that the Phalanx rootkit was used to gain root access to Kernel.org systems. The Linux Foundation says that &#8220;while we currently believe that the source code repositories were unaffected, we are in the process of verifying this and taking steps to enhance security across the kernel.org infrastructure&#8221;. They also advise users to take precautions as with any intrusion and &#8220;should consider the passwords and SSH keys that you have used on these sites compromised.&#8221;</p>
<p>The team at Linux is working hard to get all the sites back online but their approach is understandably cautious. In FAQ&#8217;s added to the holding page note the Foundation says that &#8220;services will begin coming back online in the coming days.&#8221;</p>
<p>It seems that Linux has learnt a lot from Sony&#8217;s mishandling of their hack &#8211; delays in releasing information and then the revelation that passwords were stored in plaintext. The FAQ&#8217;s specifically answer this latter point reassuring users that they did not store passwords in plaintext. However, they also warn that this does not mean the passwords cannot be cracked using a &#8220;brute force attack&#8221; and echo earlier comments that if those passwords are used by its users elsewhere they should be changed</p>
<p>While investigations are still ongoing, the Linux Foundation is currently not revealing any information on what they have found out about the source of the attack.</p>
<p>&nbsp;</p>
<p>Linux will by no means be the last high profile company to suffer a security breach, though the way they have handled it sets a great benchmark.</p>
</div>
</div>
</div>
</div>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ukfast.co.uk/2011/09/15/linux-hit-by-serious-security-breach/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Microsoft OSG Loves Linux Technologies</title>
		<link>http://blog.ukfast.co.uk/2011/05/23/microsoft-osg-loves-linux-technologies/</link>
		<comments>http://blog.ukfast.co.uk/2011/05/23/microsoft-osg-loves-linux-technologies/#comments</comments>
		<pubDate>Mon, 23 May 2011 16:18:23 +0000</pubDate>
		<dc:creator>Liz Walker</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[virtualisation]]></category>

		<guid isPermaLink="false">http://blog.ukfast.co.uk/?p=8168</guid>
		<description><![CDATA[You don&#8217;t expect to hear about Microsoft dedicating an entire section of their company to Open Source projects, and the revelation that they do came as a big surprise to many members of our Linux team. The Open Solutions Group (OSG) is an organization at Microsoft responsible for making sure solutions are brought to market [...]]]></description>
			<content:encoded><![CDATA[<p>You don&#8217;t expect to hear about Microsoft dedicating an entire section of their company to Open Source projects, and the revelation that they do came as a big surprise to many members of our Linux team.</p>
<p>The Open Solutions Group (OSG) is an organization at Microsoft responsible for making sure solutions are brought to market that will function with a selection of open source vendors.</p>
<p>This work uses over a thousand servers, each dedicated to different open source software. The aim of all this is to make sure there is greater interoperability between Windows and Linux environments.</p>
<p>The focus of the OSG includes virtualisation, cross-platform management, service automation, and support. The collaboration between Microsoft and open source partners brings together technologies and resources to aid hosting companies, like us, to fully leverage the power of technologies like cloud computing and meet the changing demands of our clients.</p>
<p>Microsoft has been working with select open source partners since 2006 and the organisation has helped over 700 customers overcome critical interoperability challenges related to mixed-source virtualisation and cross-platform management.</p>
<p>As one of OSG&#8217;s open source partners, we met with representatives of the team when they came over from Washington to meet us last month.</p>
<p>The benefits of cross platform management are of interest to many of our Windows clients as it allows them to take advantage of innovative open source technologies that previously would not have worked with the Windows OS.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ukfast.co.uk/2011/05/23/microsoft-osg-loves-linux-technologies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Managing Resource in RHEL6 Part 1</title>
		<link>http://blog.ukfast.co.uk/2010/10/04/managing-resource-in-rhel6-part-1/</link>
		<comments>http://blog.ukfast.co.uk/2010/10/04/managing-resource-in-rhel6-part-1/#comments</comments>
		<pubDate>Mon, 04 Oct 2010 08:51:21 +0000</pubDate>
		<dc:creator>Pingu</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.ukfastblog.co.uk/?p=7184</guid>
		<description><![CDATA[The most prominent and for the hosting business, most important updates that are going to come out for Redhat Enterprise Linux are those introducing control groups in RHEL6. These have been around in a supported capacity since Fedora 8 but really wont be seen in full until the new Redhat build gets started. So, what [...]]]></description>
			<content:encoded><![CDATA[<p>The most prominent and for the hosting business, most important updates that are going to come out for Redhat Enterprise Linux are those introducing control groups in RHEL6. These have been around in a supported capacity since Fedora 8 but really wont be seen in full until the new Redhat build gets started.</p>
<p>So, what are control groups?</p>
<p>Fundamentally, control groups are a way of shelving certain PIDs into different groups which provide different classes of resource management. This is different from traditional process groups in that you can be assigned and removed from membership of the control group in real time. Also groups can be stacked hierarchically which is important with regards to the resource management feature of control groups.</p>
<p>Control groups offer a method of guaranteeing a quality of service within a single system via the O/S, something which has not been possible to accomplish prior to control groups.</p>
<h2>Basic Control Group Explanation</h2>
<p>To get an idea of what control groups do, lets look at their architecture and how to administrate them on a basic level.</p>
<p>Control groups are exposed to userland via the cgroupfs filesystem which can be mounted on disk. I only want to cover one <em>subsystem</em> today so I&#8217;ll be mounting just the <em>cpu subsystem</em>.</p>
<h4>Accessing Control Groups</h4>
<pre class="code">[root@home ~]# mount -t cgroup -o cpu none /cgroup/
[root@home ~]# ll /cgroup/
total 0
-r--r--r--. 1 root root 0 Aug 18 09:32 cgroup.procs
-rw-r--r--. 1 root root 0 Aug 18 09:32 cpu.rt_period_us
-rw-r--r--. 1 root root 0 Aug 18 09:32 cpu.rt_runtime_us
-rw-r--r--. 1 root root 0 Aug 18 09:32 cpu.shares
-rw-r--r--. 1 root root 0 Aug 18 09:32 notify_on_release
-rw-r--r--. 1 root root 0 Aug 18 09:32 release_agent
-rw-r--r--. 1 root root 0 Aug 18 09:32 tasks</pre>
<p>Control group components are broken down into <em>subsystems</em> which alter the way processes behave when in a control group. These expose certain parameters for controlling a resource within that group which are then enforced on PIDs members of the group. Parameters contents can be rea.  For example, using cat, you can write to some of the parameters using echo &#8211; much like with /proc, /sys or other pseudo filesystems.</p>
<p>There are a few different subsystems available to use all varying in the resource we want to manage but the mount parameters I used explose only the CPU <em>subsystem</em> for now.</p>
<h4>CPU Subsystem Parameters</h4>
<p>The <em>CPU subsystem </em>gives us access to the completely fair scheduler queuing (CFQ) algorithm and provides us with an opportunity to refine how the CPU schedules work on process IDs within the group itself. Lets take a look at each parameter.</p>
<ul>
<li><em>cgroup.procs &#8211; </em>the list of processes that are members of this control group.</li>
<li><em>cpu.rt_period_us </em>- defines a real time period in milliseconds, used for the option below. This prevents processes in the group hogging the CPU.</li>
<li><em>cpu.rt_runtime_us</em> &#8211; How much time this cgroup can have the CPU to itself in milliseconds (used with the option above.)</li>
<li><em>cpu.shares </em>- An arbitrary integer which can define the share of the CPU processes in this group receive in relation to other control groups <em>cpu.shares</em>.</li>
<li><em>notify_on_release</em> &#8211; When all the tasks in the control group have exited, define whether we should run the release agent (0 = no, 1 = yes)</li>
<li><em>release_agent</em> &#8211; The path to a program to execute when the last task has exited the control group.</li>
<li><em>tasks</em> &#8211; The list of processes + threads that are members of this control group. This differs from <em>cgroup.procs</em> as it will display lightweight processes too.</li>
</ul>
<p>The first control group you make (the one you mounted) becomes the default and root control group and all tasks on the system running will be members of it.</p>
<h4>Creating Control Groups</h4>
<p>To add another control group you can simply go into the cgroup filesystem and mkdir. This initializes a new group inheriting all the subsystems of its parent (in this case, just CPU) with further tuning parameters.</p>
<pre class="code">[root@home cgroup]# mkdir fiftypc
[root@home cgroup]# ll -R
.:
total 0
-r--r--r--. 1 root root 0 Aug 18 09:32 cgroup.procs
-rw-r--r--. 1 root root 0 Aug 18 09:32 cpu.rt_period_us
-rw-r--r--. 1 root root 0 Aug 18 09:32 cpu.rt_runtime_us
-rw-r--r--. 1 root root 0 Aug 18 09:32 cpu.shares
drwxr-xr-x. 2 root root 0 Aug 18 10:09 fiftypc
-rw-r--r--. 1 root root 0 Aug 18 09:32 notify_on_release
-rw-r--r--. 1 root root 0 Aug 18 09:32 release_agent
-rw-r--r--. 1 root root 0 Aug 18 09:32 tasks

./fiftypc:
total 0
-r--r--r--. 1 root root 0 Aug 18 10:09 cgroup.procs
-rw-r--r--. 1 root root 0 Aug 18 10:09 cpu.rt_period_us
-rw-r--r--. 1 root root 0 Aug 18 10:09 cpu.rt_runtime_us
-rw-r--r--. 1 root root 0 Aug 18 10:09 cpu.shares
-rw-r--r--. 1 root root 0 Aug 18 10:09 notify_on_release
-rw-r--r--. 1 root root 0 Aug 18 10:09 tasks</pre>
<p>As demonstrated, running mkdir in the cgroup with the name of the new control group will initialze a new control group which is a child of the root control group.</p>
<h4>Adding Tasks to the Control Group</h4>
<p>To add a process to the control group you need to echo the PID of the task into the control group.</p>
<p>Lets add a simple script that creates a few processes to see what happens once we&#8217;ve added it to the cgroup.</p>
<pre class="code">#!/usr/bin/python
import os, time, sys

time.sleep(5)

for i in range(0,5):
        if (os.fork() == 0):
                print "Iteration %d is sleeping" % i
                time.sleep(10)
                sys.exit(0)
        else:
                continue

for i in range(0,5):
        os.wait()</pre>
<p>Lets run the script and assign it to our new control group.</p>
<pre class="code">[root@home cgroup]# python /dev/shm/simple.py &amp; echo $! &gt; /cgroup/fiftypc/tasks; \
sleep 7; \
cat /cgroup/fiftypc/tasks
[1] 6263

Iteration 0 is sleeping
Iteration 1 is sleeping
Iteration 2 is sleeping
Iteration 3 is sleeping
Iteration 4 is sleeping
6263
6265
6266
6267
6268
6269</pre>
<p>What this does is execute the process which waits five seconds before spawning children. We add the process to the tasks list of our new control group using $! to pipe the PID into the <em>tasks</em> file of the control group we want to assign it to. We sleep for seven seconds to allow the process to spawn its children then output what is displayed in our task list.</p>
<p>This is a good demonstration of the way control groups behave; when processes are assigned into the group whenever a child process or thread is spawned from within the process ID that has membership in this control group, the child process also inherits the same control group. Thus we are able to group a series of processes into the control group. If we assign resource control parameters inside of the group then the child processes inherit the limits set.</p>
<p>.</p>
<p>We can also get a PID out of a control group by echoing its PID into another control group (such as the root group).</p>
<h1>Stateful Resource Management</h1>
<p>Control groups are great like this but the fashion of creating and managing these control groups is crude and difficult to implement on a system-wide basis. How could we really use this? We cannot maintain the state of this setup easily &#8211; as soon as we reboot we&#8217;ll lose all the cgroups, the parameters we assigned the control groups and of course any PIDs that were members of them. How can we made this more stateful, more meaningful and more elegant to manage?</p>
<p>Well &#8211; this is where redhat have come in. Libcgroup is a package that comes deployed with RHEL6 and offers us a means to abstract out the filesystem management of control groups and consistently deploy them to disk. RHEL have altered their initscripts facilities to allow you to start services right into their accompanying control group by using a special variable in /etc/sysconfig/&lt;service&gt;. But also more critically, have developed a means by which you can define your control groups and their parameters so the system can be rebooted and come up in the correct state. The mechanism still needs some work but is still elegant enough to take advantage of.</p>
<p>Before anything can be done with this, you need to install the <em>libcgroup</em> package from yum. Once this has been done there is a file in <em>/etc/cgconfig.conf</em> which we can use to define the control group names, ownerships and subsystems.</p>
<p>Lets take a step by step look at a configuration I have deployed to test out the <em>cpu</em> subsystem.</p>
<pre class="code">group users {
        perm {
                task {
                        uid = root;
                        gid = root;
                }
                admin {
                        uid = root;
                        gid = root;
                }
        }
        cpu {
                cpu.shares = 1024;
        }
}
mount {
	cpu = /cgroup/cpu;
}</pre>
<p>Lets break down each important aspect and provide further explanation.</p>
<pre class="code">group users {
..
}</pre>
<p>The <em>group</em> clause defines the name of our control group, which in this case will be called &#8220;users&#8221;.</p>
<pre class="code">        perm {
        ..
        }</pre>
<p>The <em>perm</em> section simply denotes that the subsections within it refer to permissions of the control group.</p>
<pre class="code">               task {
                        uid = root;
                        gid = root;
                }|</pre>
<p>The section <em>task</em> defines who has the ability to control the contents of the tasks file in the control group (selinux permitting on SELinux enabled systems). In my case, root is fine for my purposes. I can actually skip this whole section out and it will implicitly assign ownerships to root but for the sake of verbosity I have added it. This allows another person to re-assign PIDs into this group manually in real time if necessary.</p>
<pre class="code">                admin {
                        uid = root;
                        gid = root;
                }</pre>
<p>The section <em>admin</em> defines who has the ability to write to the contents of the control group. Because cgroupfs is fundamenally a filesystem we can assign ownerships and permissions to the parameters file that the process becomes grouped into. <em>admin</em> defines which user and group gets ownership of the control group subsystem parameters.</p>
<pre class="code">        cpu {
                cpu.shares = 1024;
        }</pre>
<p>This is the meat of the control group definitions. The <em>cpu</em> section refers to the name of the subsystem (cpu) and the parameters parts contain the parts ot the subsystem you can control. The subsystem ports follow dot notation and must contain the complete name of the file (which is reflected in the filesystem contents above). This part sets the parameters for the group itself allowing more stateful control of the cgroup filesystem. In my example I have set the &#8220;shares&#8221; value of the cpu subsystem to 1024.</p>
<pre class="code">mount {
	cpu = /cgroup/cpu;
}</pre>
<p>The <em>mount</em> section determines where physically on disk to place the control group. I can put different subsystems on different portions of the disk but for now I have placed the <em>cpu</em> subsystem into <em>/cgroup/cpu</em>.</p>
<p>The only remaning thing left to do is run <em>/etc/init.d/cgconfig start; chkconfig cgconfig on; </em>to enable stateful cgrouping.</p>
<h1>In Conclusion</h1>
<p>Control groups in RHEL is for me going to be the most dramatic and beneficial update. In terms of risk management quality of service has never been something thats been easy to implement on multi-roled machines before with Linux.</p>
<p>This is soon going to change. Control groups will allow system administrators to know who can hog which resource, for how long and how much. Control groups brings us closer to a proper system where a single process cant demand too much of the CPU or one leaky application cant bring down an entire system. Effectively we are able to contain a problematic service, application or user through the use of control groups so they have little to no impact on the performance of more critical services.</p>
<p>In the next part we&#8217;ll talk about how you can place users into a cgroup automatically and look more closely at what effect the <em>cpu </em>subsystem has on work load.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ukfast.co.uk/2010/10/04/managing-resource-in-rhel6-part-1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The Potency of SQL Injection &#8211; A Technical Perspective</title>
		<link>http://blog.ukfast.co.uk/2010/08/16/the-potency-of-sql-injection-a-technical-perspective/</link>
		<comments>http://blog.ukfast.co.uk/2010/08/16/the-potency-of-sql-injection-a-technical-perspective/#comments</comments>
		<pubDate>Mon, 16 Aug 2010 12:08:43 +0000</pubDate>
		<dc:creator>Pingu</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[webapp]]></category>

		<guid isPermaLink="false">http://www.ukfastblog.co.uk/?p=7037</guid>
		<description><![CDATA[Most web developers know that they should sanitize their web input. However recent figures from the UK Security Breach Investigations Report 2010 indicate that 40 per cent of all website attacks are due to SQL injections. SQL injection attacks allow perpetrators to leak data, usually by making a web application perform a query it wasn&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_7131" class="wp-caption alignright" style="width: 310px"><a href="http://www.ukfastblog.co.uk/wp-content/uploads/2010/08/sql-piechart.png"><img class="size-medium wp-image-7131" title="SQL Piechart" src="http://www.ukfastblog.co.uk/wp-content/uploads/2010/08/sql-piechart-300x168.png" alt="SQL Piechart" width="300" height="168" /></a><p class="wp-caption-text">Break down of attack types</p></div>
<p>Most web developers know that they should sanitize their web input. However recent figures from the <a href="http://www.7safe.com/breach_report/">UK Security Breach Investigations Report 2010</a> indicate that 40 per cent of all website attacks are due to <strong>SQL injections.</strong></p>
<p>SQL injection attacks allow perpetrators to leak data, usually by making a web application perform a query it wasn&#8217;t intended to do. However, what most fail to realize is under the right conditions SQL injection attacks can be much more potent than data exposure (which is a serious breach in itself). A well crafted attack has the potential to subvert your entire system where circumstances allow.</p>
<p>To begin, let&#8217;s discuss what the SQL injection attack is, and how it works.</p>
<h1>A Basic Example</h1>
<p>We shall take a PHP MySQL query and consider the problem with it.</p>
<pre class="code">mysql_query("SELECT id,username,password FROM user_table \
 WHERE username="'.$_GET['username']."');</pre>
<p>So when a user executes a query genuinely, the variable will typically be replaced and the query such, I.E:</p>
<pre class="code">mysql_query("SELECT id,username,password FROM user_table WHERE username='matthew'");</pre>
<p>The problem arises however when the data input contains characters which are meaningful in an SQL statement. Consider for example logging in with the username <em>ma&#8217;tthew</em> (note the intentional quotes in the middle of the username). When we do the variable expansion the query ends up appearing as:</p>
<pre class="code">mysql_query("SELECT id,username,password FROM user_table WHERE username='ma'tthew";</pre>
<p>When you run this, the query is invalid SQL because the entire statement is syntactically incorrect. What has happened is the attacker has altered the behaviour of the SQL statement &#8211; actually gaining control of it. This allows the attacker to <span style="text-decoration: underline;">continue</span> the statement altering to fetch data that is normally not permitted by the original statement.</p>
<p>This kind of attack is well known by web developers. Unfortunately for system administrators and web developers alike the problem doesn&#8217;t stop here. If the privileges that have been set by the system/database administrator are too lax it&#8217;s possible to reap data right off the disk and worse still, deploy arbitrary data onto the disk.</p>
<h1>The Worst Case Scenario</h1>
<div>Lets analyze the worst possible situation demonstrating this. A lax web developer has written a very simple table described below. To save time and effort he&#8217;s simply used the admin&#8217;s (root) user details in this webapp, along with all other webapps on the server.</div>
<pre class="code">﻿mysql&gt; desc data;
+-------+-------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+-------------+------+-----+---------+----------------+
| id    | int(11)     | NO   | PRI | NULL    | auto_increment |
| info  | varchar(32) | YES  |     | Nothing |                |
+-------+-------------+------+-----+---------+----------------+
2 rows in set (0.00 sec)</pre>
<p>The webpage used is PHP written as follows:</p>
<pre class="code">&lt;?php
mysql_connect('localhost','root','xxxxxx') or die(mysql_error());
mysql_select_db('mywebapp') or die(mysql_error());

echo "&lt;table&gt;\n";
echo "&lt;tr&gt;&lt;td&gt;ID&lt;/td&gt;&lt;td&gt;Info&lt;/td&gt;&lt;/tr&gt;\n";

if (isset($_GET['search'])) {
   $r = mysql_query("SELECT * from data where info like '".$_GET['search']."'") \
      or die(mysql_error());
   echo "SELECT * from data where info like '".$_GET['search']."'";
else {
   $r = mysql_query("SELECT * from data") or die(mysql_error());
}

while ($row = mysql_fetch_array($r, MYSQL_NUM)) {
   echo "&lt;tr&gt;&lt;td&gt;$row[0]&lt;/td&gt;&lt;td&gt;$row[1]&lt;/td&gt;&lt;/tr&gt;\n";
}

echo "&lt;/table&gt;";
?&gt;

&lt;form name="test"&gt;
Search: &lt;input type=text name=search value=""&gt;&lt;br/&gt;
&lt;input type="submit"/&gt;
&lt;/form&gt;</pre>
<p>However, the developer also has also run &#8220;<em>chmod 777</em>&#8221; on a directory called &#8220;images&#8221; which is used for another part of the website. This is a common work-around used to avoid permission problems when creating files, by allowing anyone to create files.</p>
<p>The SQL injection vulnerability occurs on line 9. Because the input is not sanitized, the user can perform a fake search and take control of the SQL. The attacker, having already tried standard SQL injection techniques has seen little data of interest remains on the databases. Rather than find the other databases, the attacker wants to spawn a shell. But, can this be done from within mysql?</p>
<p>The answer is, yes of course it can. This is because the db user has the FILE privilege set that means he can read files in and write files out. The attacker needs to know where the document root is for the website. It&#8217;s not outright retrievable from SQL but it is readable in the httpd.conf.</p>
<p><a href="http://www.ukfastblog.co.uk/wp-content/uploads/2010/08/sql-inject-read1.png"><img class="alignright size-medium wp-image-7153" title="sql-inject-read" src="http://www.ukfastblog.co.uk/wp-content/uploads/2010/08/sql-inject-read1-300x157.png" alt="" width="300" height="157" /></a>By utilizing the LOAD_FILE privilege and UNION selecting it out, the attacker can add it to the existing table to read the total contents of the file! It&#8217;s not a pretty read but thats not relevent. By exploiting the FILE privilege the attacker has obtained a means to get the sites document root.</p>
<p>Armed with this infomation, we can look at the design/layout/source code (again, with more LOAD_FILE tricks it&#8217;s possible to determine the most likely place that has a globally writable directory). For example an images/avatar folder for perhaps, joomla, if the site was written as such would be a great target. Because there is a tendency to make folders world-writable when they cannot be normally written to, the attacker can exploit this weakness to deploy a new file within the sites&#8217; document root through mysql. Normally an attacker wants to deploy PHP code into the document root because it will execute. Since it contains lots of meta-characters the attacker typically translates the actual code he wants to use into hexadecimal output. Using the INTO OUTFILE syntax in MySQL he can dump the contents of said file right into his target directory. In this example I will be using simple PHP code that generates &#8220;hello world&#8221; when the page visits.</p>
<p><a href="http://www.ukfastblog.co.uk/wp-content/uploads/2010/08/mysql-inject-write1.png"><img class="alignright size-medium wp-image-7152" title="mysql-inject-write" src="http://www.ukfastblog.co.uk/wp-content/uploads/2010/08/mysql-inject-write1-300x157.png" alt="" width="300" height="157" /></a>The image illustrates what&#8217;s happened here. The attacker has injected his own custom string and dumped it into an outfile that&#8217;s globally writable and present in the document root of an existing website. Now all that&#8217;s left is to visit the file you wrote. The big issue with this type of attack is that it will subvert any coding you might put in place, typically in uploads, to prevent php files being written into sensitive areas on disk.</p>
<h1>In Conclusion</h1>
<p>The potency of SQL injection and commonness of not sanitizing input is a real threat to system security over and above what&#8217;s contained inside of your database. A series of failures have to be reached to get to a point like the one demonstrated above. These failures may include: not enforcing least privileges on database users, not sanitizing all input that comes from a untrusted source, lax file permissions in directories and no defensive layers in sensitive directories.</p>
<p>The trouble is, it&#8217;s incredibly simple for a web developer to overlook the sanitization of input, especially with the tight deadlines and rapid application development process that is typical. Not only this but the general consensus to use vulnerable libraries to connect to mysql make such situations common and a concern. Most people are unaware that it&#8217;s possible to convert a data leakage vulnerability into a system compromize which can mean IT managers dont give SQL injection threats the priority they deserve in the development process.</p>
<h1>Fixing the Situation</h1>
<p>There are many ways to fix SQL injection:</p>
<ul>
<li><strong>Sanitize your input!</strong></li>
<li>Use MySQLi or another modern SQL library that supports prepared (or pseudo prepared) SQL satements.</li>
<li>Use the <em>setfacl</em> command to give apache only access to directories that are meant to be writable by it.</li>
<li>Deploy .htaccess files into sensitive folders (like uploads) to whitelist what files should be accessible in the folder, so image folders should only allow access to jpg, png and gif for example.</li>
<li>Dont give FILE privileges to DB users if they dont need it.</li>
<li>Use SELinux as a last line of defense (its not possible for mysql to write to http content in SELinux).</li>
</ul>
<p>Such exploits are the result of lax security measures and poor coding and can undermine the confidence of visitors to your site. There&#8217;s <strong>no need</strong> to be victim to the most common form of web attack.</p>
<p><!-- pre.code { font-size: 100%; padding: 0.5em; border: 1px dashed #ffffff; color: Black; background-color: #363636; overflow: auto; color: #ffffff; } --></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ukfast.co.uk/2010/08/16/the-potency-of-sql-injection-a-technical-perspective/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Role Based Access Controls in Enterprise Linux 6</title>
		<link>http://blog.ukfast.co.uk/2010/08/16/role-based-access-controls-in-enterprise-linux-6/</link>
		<comments>http://blog.ukfast.co.uk/2010/08/16/role-based-access-controls-in-enterprise-linux-6/#comments</comments>
		<pubDate>Mon, 16 Aug 2010 11:18:22 +0000</pubDate>
		<dc:creator>Pingu</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[administration]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[httpd]]></category>
		<category><![CDATA[RBAC]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[SELinux]]></category>

		<guid isPermaLink="false">http://www.ukfastblog.co.uk/?p=7012</guid>
		<description><![CDATA[I&#8217;ve been really excited about the potential of Red Hat Enterprise Linux 6 (RHEL6/CentOS6) and the beta has not let me down. Most of the more prominent features are laid out at the Redhat website but one of the things it neglects to mention is how much more access control it comes with. Role Based [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.ukfastblog.co.uk/wp-content/uploads/2010/08/selinux-penguin-1.jpg"><img class="alignright size-full wp-image-7051" title="SELinux Penguin" src="http://www.ukfastblog.co.uk/wp-content/uploads/2010/08/selinux-penguin-1.jpg" alt="SELinux Penguin" width="200" height="181" /></a>I&#8217;ve been really excited about the potential of <strong>Red Hat Enterprise Linux 6</strong> (RHEL6/CentOS6) and the beta has not let me down.</p>
<p>Most of the more prominent features are laid out at the Redhat website but one of the things it neglects to mention is how much more access control it comes with.<span id="more-7012"></span></p>
<p><strong>Role Based Access Controls</strong> (RBAC) offer a system or security administrator a means to define a role of some sort. In our example below we&#8217;ll be using a web admin role.</p>
<p>Since Fedora 9, the SELinux maintainers for Redhat have pulled out all the stops to properly deploy a framework for SELinux that is more flexible than what you see with EL5. The problem with EL5&#8242;s SELinux policy is that although it works, it really does not scratch the surface of how powerful SELinux really is. RBAC simply is not implemented. This means that delegation of trust and enforcement of a corporate security policy is difficult.</p>
<p>Normal access controls are fraught with problems of trust. To make somebody a true webadmin in traditional Linux systems requires a lot of effort:</p>
<ul>
<li>The user must be able to read/write web content.</li>
<li>The user must be able read/write configuration files.</li>
<li>The user must be able to restart web services.</li>
<li>The user must be able to alter php configuration files.</li>
<li>The user must be able to read/write home directory content (if say apache uses mod_userdir).</li>
<li>The user must be able to read/write the temporary files that the http service generates (php sessions and genuine temp files).</li>
<li>The user must be able to change permissions of web content.</li>
</ul>
<p>To manage this level of access on a traditional system would be nigh on impossible. You might be able to get a lot of it done through the use of file ACLs and sudo but it would be a nightmare to manage and make sure not to permit too much or too little access.</p>
<p>EL6 dips more than just its toe into the water of SELinux and with it comes a more flexible implementation of role based access control that is worthy of consideration.</p>
<p>Normally one needs to be able to define what the limits of the role are in order to implement it. But the SELinux policy in EL6 already comes with predefined roles, such as web admin which can be implemented without too much trouble.</p>
<h1>Demonstrating RBAC</h1>
<p>I am going to demonstrate how to do the above in a secure way which gives a system administrator the confidence to delegate trust.</p>
<p>For starters you&#8217;ll need either an Fedora 12 box or EL6 Beta. Once here we can prepare our system to do this in a few relatively simple steps.</p>
<p>Firstly, we&#8217;ll add the user onto the system as a web administrator.</p>
<pre class="code">[root@krbsrv ~]# useradd webadministrator
[root@krbsrv ~]# passwd webadministrator
Changing password for user webadministrator.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.</pre>
<p>Next, we&#8217;ll create an SELinux User and assign our UID to use it.</p>
<pre class="code">[root@krbsrv ~]# semanage user -a -R "staff_r system_r webadm_r" -L s0 -r s0 webadm_u
[root@krbsrv ~]# semanage login -a -r s0 -L s0 -s webadm_u webadministrator</pre>
<p>Line 1 creates the webadm_u SELinux user (this is distinctly different from a UNIX user account) which is mapped to roles it can be part of.</p>
<p>What we have done is assigned it to the staff, system and webadm roles. &#8216;Staff&#8217; is a restricted account which can su and sudo which is what we&#8217;re going to need to permit, the system role is used here because its needed to run init scripts (to start/stop httpd), and finally our webadm role is the actual primary role of this user. It&#8217;s not possible to map the webadm role directly and only to this user because webadm_r doesnt actually have enough privileges to get it to login via SSH. So instead we use the loginable staff role and transition to the webadm role when we want to do work. The -l and -r  are sensitivities. This isnt used in SELinux but its mandatory to pass something to it.</p>
<p>Line 2 maps the actual UNIX user webadministrator to the SELinux user webadm_u, so when the user logs in this will be their identifiable user.</p>
<p>Now we have done this theres still a few more steps left yet.</p>
<p>We have listed 3 roles the SELinux user webadm_u can transition into. But, how do we know which one to transition into by default? Well &#8211; the answer to this is the folder: <em>/etc/selinux/targeted/contexts/users</em>. This folder contains a list of SELinux users you already have. If you open the file <em>staff_u</em> file you&#8217;ll see something like this:</p>
<pre class="code">system_r:local_login_t:s0	staff_r:staff_t:s0 sysadm_r:sysadm_t:s0
system_r:remote_login_t:s0	staff_r:staff_t:s0
system_r:sshd_t:s0		staff_r:staff_t:s0 sysadm_r:sysadm_t:s0
system_r:crond_t:s0		staff_r:staff_t:s0
system_r:xdm_t:s0		staff_r:staff_t:s0
staff_r:staff_su_t:s0		staff_r:staff_t:s0
staff_r:staff_sudo_t:s0		staff_r:staff_t:s0
system_r:initrc_su_t:s0		staff_r:staff_t:s0
staff_r:staff_t:s0		staff_r:staff_t:s0
sysadm_r:sysadm_su_t:s0		sysadm_r:sysadm_t:s0
sysadm_r:sysadm_sudo_t:s0	sysadm_r:sysadm_t:s0</pre>
<p>This file is a two columned list of which role/types to map to users depending on how they enter the system. So for example the type &#8220;local_login_t&#8221; represents accessing from a console directly whereas the type &#8220;sshd_t&#8221; represents logging in via SSH. To the right of these entries is a left-to-right priority list of what contexts the staff_u user ends up getting when they login. Its not important to know all about how this works. All we really need to do is copy this file and name it webadm_u in the same directory.</p>
<pre class="code">[root@krbsrv ~]# cp /etc/selinux/targeted/contexts/users/staff_u \
/etc/selinux/targeted/contexts/user/webadm_u</pre>
<p>OK so now we have initialized our webadm_u user for logging in. But theres one final task..</p>
<p>The UNIX user webadministrator cant do some of the things it needs to to properly function &#8211; such as restart the httpd service or change file ownerships/permissions when necessary. To do this webadm must become root. Becoming root means nothing to SELinux. It will enforce its policy all the same, so even as root webadministrator is restricted purely to the role that is needed. Thus we can safely do this without compromizing our system. We use sudo to do this which takes special tags we use to transition to our webadm role automatically so the user doesnt need to worry about the selinux particulars:</p>
<pre class="code">[root@krbsrv ~]# echo 'web_admin ALL=(ALL) TYPE=webadm_t ROLE=webadm_r ALL' &gt;&gt; /etc/sudoers</pre>
<p>This means that when the webadministrator runs sudo it will automatically transition into the webadm_t type and webadm_r role.</p>
<p>Great, now we&#8217;ve fixed up our user lets test him out!</p>
<pre class="code">[root@krbsrv ~]# ssh webadministrator@192.168.122.73
webadministrator@192.168.122.73's password:
Last login: Wed Aug 11 22:55:45 2010 from 192.168.122.1

[webadministrator@krbsrv ~]$ id -Z
webadm_u:staff_r:staff_t:s0

[webadministrator@krbsrv ~]$ sudo -s
[root@krbsrv ~]# id -Z
webadm_u:webadm_r:webadm_t:s0</pre>
<p>So, we login via SSH as per the norm. When we login we check our ID (getting SELinux context). You can see we have logged in with webadm_u as the user but staff_r as the role and staff_t as the type. We can&#8217;t do much to our web content in this role and we&#8217;re also not root. When we sudo what happens is sudo auto-transitions the user into the webadm_r role and webadm_t type &#8211; just what the doctor ordered.</p>
<p>This role runs a very restricted set of actions it can take. Lets see what we can do&#8230;</p>
<p><strong>We should be able to change the apache configuration and restart the service:</strong></p>
<pre class="code">[root@krbsrv ~]# echo "# Add a comment to this file" &gt;&gt; /etc/httpd/conf/httpd.conf
[root@krbsrv ~]# /etc/init.d/httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]</pre>
<p><strong>However we can&#8217;t restart other services:</strong></p>
<pre class="code">[root@krbsrv ~]# /etc/init.d/sshd restart
bash: /etc/init.d/sshd: Permission denied</pre>
<p><strong>We can read, create and modify files in the document root:</strong></p>
<pre class="code">[root@krbsrv ~]# cd /var/www/html
[root@krbsrv html]# touch new_file.txt
[root@krbsrv html]# rm new_file.txt</pre>
<p><strong>However we can&#8217;t modified files outside this:</strong></p>
<pre class="code">[root@krbsrv ~]# echo "Port 20000" &gt;&gt; /etc/ssh/sshd_config
bash: /etc/ssh/sshd_config: Permission denied
[root@krbsrv ~]# cat /etc/shadow
cat: /etc/shadow: Permission denied</pre>
<p><strong>Looks good!</strong></p>
<p>So, here we are. As you can see, in the webadm role we can restart httpd (which webadministrator needs to do), write to our configuration files and alter our webcontent. However we can&#8217;t change anything outside of our remit or attempt to perform anything nefarious &#8211; all despite the fact we are root!</p>
<h1>In Conclusion..</h1>
<p>Practically speaking, the SELinux policy that comes with EL6 is meant to be a framework, not <em>really </em>a turn-key solution to just fit in with your current system. mAs such webadm as a role itself needs tweaking.</p>
<p>For starters, in the webadm role you can&#8217;t read your own home directory which is a little impractical. But also you can&#8217;t manage the <em>php.ini</em> or any session files created within <em>php.ini</em>. Therefore I&#8217;ve tweaked the policy and added the ability for webadm to be able to test websites from within the role, resolve DNS name entries and also allow SSL certificates to be written in the appropriate places. I decided not to permit webadministrator to be able to use FTP to download files directory in the webadm role. If he wants to do this however he can use the non-root login (using the staff role) to download to his home directory and then copy it accross in the webadm role afterwards. I have supplied the policy I wrote as an idea of how you would do this (download here: <a href="http://www.ukfastblog.co.uk/wp-content/uploads/2010/08/mywebadm.zip">mywebadm</a>).</p>
<p>It should be worth nothing that nearly every SELinux policy needs fine-tuning to suit your needs. One size definitely does not fit all. SELinux policy however gives you the specific tools you need to build a working, guaranteed access policy meaning you can delegate system administrator work without giving away root privileges and assign the specialists in their fields the power they need to do their work and no more.</p>
<p>I&#8217;m a bit of a fan of what SELinux is and does and I thought it was a shame that Redhat failed to mention the amount of effort and progress gone into the policy EL6 ships with. In the real world managing security threats outside and <strong>inside</strong> your network is a high priority. EL6 finally gives Linux the power to do this.</p>
<p>At least control groups gets a mention. But thats a story for another time&#8230;</p>
<p><!-- pre.code { font-size: 100%; padding: 0.5em; border: 1px dashed #ffffff; color: Black; background-color: #363636; overflow: auto; color: #ffffff; } --></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ukfast.co.uk/2010/08/16/role-based-access-controls-in-enterprise-linux-6/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Measuring Driver Performance in Perf</title>
		<link>http://blog.ukfast.co.uk/2010/08/09/linux-2-6-35-and-smp-support-for-incoming-network-load/</link>
		<comments>http://blog.ukfast.co.uk/2010/08/09/linux-2-6-35-and-smp-support-for-incoming-network-load/#comments</comments>
		<pubDate>Mon, 09 Aug 2010 10:09:27 +0000</pubDate>
		<dc:creator>Pingu</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[8139]]></category>
		<category><![CDATA[mii]]></category>
		<category><![CDATA[mpstat]]></category>
		<category><![CDATA[perf]]></category>
		<category><![CDATA[resource management]]></category>
		<category><![CDATA[virt]]></category>

		<guid isPermaLink="false">http://www.ukfastblog.co.uk/?p=6905</guid>
		<description><![CDATA[A couple of weeks ago the Linux Kernel 2.6.35 was officially released. For me, this release hasn&#8217;t been as exciting as say, 2.6.30 but one thing that whet my appetite was the support for distributed incoming network load. But what&#8217;s the fuss all about? Here I demonstrate how spreading incoming network I/O over multiple CPUs [...]]]></description>
			<content:encoded><![CDATA[<p>A couple of weeks ago the Linux Kernel <a href="http://kernelnewbies.org/Linux_2_6_35#head-94daf753b96280181e79a71ca4bb7f7a423e302a" target="_blank">2.6.35</a> was officially released. For me, this release hasn&#8217;t been as exciting as say, <a href="http://kernelnewbies.org/Linux_2_6_30">2.6.30</a> but one thing that whet my appetite was the support for distributed incoming network load. But what&#8217;s the fuss all about? Here I demonstrate how spreading incoming network I/O over multiple CPUs (especially since multicore is the norm these days) will help speed up these boards.</p>
<p>First, a little background. Many of the consumer grade motherboards on the market use low-end NICs which under high network load can incur a substantial cost compared to enterprise grade NICs. This is because of shortcuts that have been used for getting the device onto the market.</p>
<p>With this in mind, lets take a closer look at what impact a bad NIC can have on Linux compared to one that has been properly optimized.</p>
<h1>The Test Setup</h1>
<p>Our test machine is a virtual machine running with QEMU + KVM. Configured on the VM are two network devices, an emulated <em>rt8139 </em>chipset device (eth1) and the newer, and hopefully more efficient <em>virt-io </em>paravirtualized network device (eth0).</p>
<pre class="code">ip address show
[...]
2: eth0: &lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
link/ether 52:54:00:73:67:73 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.73/24 brd 192.168.122.255 scope global eth0
inet6 fe80::5054:ff:fe73:6773/64 scope link
valid_lft forever preferred_lft forever

3: eth1: &lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 52:54:00:73:67:74 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.177/24 brd 192.168.122.255 scope global eth1
inet6 fe80::5054:ff:fe73:6774/64 scope link
valid_lft forever preferred_lft forever
[...]</pre>
<p>And just to be thorough, the kernel modules we&#8217;re running:</p>
<pre class="code">lsmod | egrep '^(8139|virtio_net)'
8139too                27638  0
8139cp                 19191  0
virtio_net             14013  0</pre>
<h1>The Benchmarking</h1>
<p>To start we&#8217;ll take down the <em>virt-io </em>device and see what kind of performance we are able to obtain from the <em>8139</em> device when we give it some work to do:</p>
<pre class="code">ip link set dev eth0 down</pre>
<p>To benchmark this properly requires the use of a system profiler and we have two options; <a href="http://oprofile.sourceforge.net">Oprofile</a> and <a href="https://perf.wiki.kernel.org/">Perf</a>.</p>
<p><em>Perf</em> is typically the one you should choose on newer kernels, and since test server is running Fedora 12 we&#8217;ll be using this as our profiler.</p>
<p>The way that profiling works is through special hardware performance counter registers on the CPUs which are utilized to obtain our statistics with very little overhead and thus causing lesser fudging of our benchmark.</p>
<p>The test file we&#8217;ll be downloading is a file of random data using <em>wget</em> on the hypervisor itself. The idea here is that we attempt to max our throughput by selecting a file on a neighbouring machine where as little network interference could effect our results. <em>Perf </em>will record the data which we can analyze:</p>
<pre class="code">perf record -af wget http://192.168.122.1/stuff/bigfile.img
--2010-08-09 14:08:22--  http://192.168.122.1/stuff/bigfile.img
Connecting to 192.168.122.1:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 419419444 (400M) [application/octet-stream]
Saving to: "bigfile.img.1"

100%[===================================================&gt;] 419,419,444 21.0M/s   in 14s

2010-08-09 14:08:37 (27.9 MB/s) - "bigfile.img.1"

[ perf record: Woken up 15 times to write data ]
[ perf record: Captured and wrote 2.413 MB perf.data (~105447 samples) ]</pre>
<p>What we have done here is got the profiler to monitor the entire system at the same time running the &#8216;<em>wget</em>&#8216; command. This has given us reference samples. The percentages that the report creates are relative to the total load the system produced, thus to get the overall load on the system at the same time we have ran <em>mpstat </em>to collate overall system load. These results are listed below:</p>
<pre class="code">02:17:35 PM  CPU      %usr   %nice    %sys...
02:17:36 PM  all      0.00    0.00    0.00...
02:17:37 PM  all      2.00    0.00    8.00...
02:17:38 PM  all      0.00    0.00   17.44...
02:17:39 PM  all      1.01    0.00   18.18...
02:17:40 PM  all      0.00    0.00   12.12...
02:17:41 PM  all      1.01    0.00    9.09...
02:17:42 PM  all      0.00    0.00    4.08...
02:17:43 PM  all      1.00    0.00   11.00...
02:17:44 PM  all      0.00    0.00   16.83...
02:17:45 PM  all      0.00    0.00    2.02...
02:17:46 PM  all      0.94    0.00    5.66...
02:17:47 PM  all      0.00    0.00    5.56...
02:17:48 PM  all      0.00    0.00    2.11...
02:17:49 PM  all      0.98    0.00   16.67...
02:17:50 PM  all      0.00    0.00    9.20...
02:17:51 PM  all      0.99    0.00    7.92...
02:17:52 PM  all      0.00    0.00    2.08...</pre>
<p>You can see here during the run system cpu load ramped up to about 13% whilst the download took place.</p>
<p>The results for our <em>perf </em>and our <em>8139 </em>module grepped out are thus listed. They give us more insight as to what is going on:</p>
<pre class="code">perf report | grep 8139
7.15%          swapper  [kernel] [k] cp_start_xmit        [8139cp]
4.72%          swapper  [kernel] [k] cp_interrupt [8139cp]
3.88%             wget  [kernel] [k] cp_rx_poll   [8139cp]
3.23%             wget  [kernel] [k] cp_start_xmit        [8139cp]
1.73%             wget  [kernel] [k] cp_interrupt [8139cp]
0.92%          swapper  [kernel] [k] cp_rx_poll   [8139cp]
0.17%      flush-253:0  [kernel] [k] cp_start_xmit        [8139cp]
0.12%      flush-253:0  [kernel] [k] cp_interrupt [8139cp]
0.03%             sshd  [kernel] [k] cp_start_xmit        [8139cp]
0.03%          swapper  [kernel] [k] dma_unmap_single_attrs.clone.2       [8139cp]
0.02%      flush-253:0  [kernel] [k] cp_rx_poll   [8139cp]
0.02%          swapper  [kernel] [k] dma_map_single_attrs.clone.1 [8139cp]
0.02%             sshd  [kernel] [k] cp_interrupt [8139cp]
0.01%             wget  [kernel] [k] dma_unmap_single_attrs.clone.2       [8139cp]
0.01%            ata/0  [kernel] [k] cp_start_xmit        [8139cp]
0.01%            ata/0  [kernel] [k] cp_interrupt [8139cp]
0.01%             sshd  [kernel] [k] cp_rx_poll   [8139cp]
0.01%             wget  [kernel] [k] dma_map_single_attrs.clone.1 [8139cp]
0.01%          kswapd0  [kernel] [k] cp_interrupt [8139cp]
0.01%  hald-addon-stor  [kernel] [k] cp_interrupt [8139cp]
0.01%          swapper  [kernel] [k] netif_wake_queue     [8139cp]
0.01%  hald-addon-stor  [kernel] [k] cp_start_xmit        [8139cp]
0.01%        scsi_eh_0  [kernel] [k] cp_start_xmit        [8139cp]
0.01%                X  [kernel] [k] cp_start_xmit        [8139cp]</pre>
<p>Of the total load on the system, the 8139 driver used about 20% of the entire load. If we take our 15% system usage from before and take 20% from it this indicates that about 3% of the cpu was used handling the network traffic.</p>
<p>Lets take a look at <em>virt-io</em>. We&#8217;ll enable it and run the same test.</p>
<pre class="code">perf record -af wget http://192.168.122.1/stuff/bigfile.img
--2010-08-09 14:25:35--  http://192.168.122.1/stuff/bigfile.img
Connecting to 192.168.122.1:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 419419444 (400M) [application/octet-stream]
Saving to: "bigfile.img.7"

100%[================================================&gt;] 419,419,444 59.1M/s   in 6.0s

2010-08-09 14:25:41 (66.6 MB/s) - "bigfile.img.7"</pre>
<p>Interesting,  this ran actually took half the time.</p>
<pre class="code">02:25:34 PM  CPU    %usr   %nice    %sys[...]
02:25:35 PM  all    4.00    0.00   23.00
02:25:36 PM  all    2.67    0.00   52.00
02:25:37 PM  all    1.23    0.00   33.33
02:25:38 PM  all    1.00    0.00   17.00
02:25:39 PM  all    0.00    0.00    2.00
02:25:40 PM  all    3.03    0.00   36.36
02:25:41 PM  all    0.00    0.00    6.93
02:25:42 PM  all    0.00    0.00    1.01</pre>
<p>So, system load was much higher this run using virt-io. Lets check our perf results:</p>
<pre class="code">0.18%          swapper  [kernel] [k] virtnet_poll      [virtio_net]
0.08%             wget  [kernel] [k] virtnet_poll      [virtio_net]
0.04%          swapper  [kernel] [k] try_fill_recv     [virtio_net]
0.03%      flush-253:0  [kernel] [k] virtnet_poll      [virtio_net]
0.01%          swapper  [kernel] [k] start_xmit        [virtio_net]
0.01%          kswapd0  [kernel] [k] virtnet_poll      [virtio_net]
0.01%             wget  [kernel] [k] xmit_skb  [virtio_net]
0.01%             wget  [kernel] [k] start_xmit        [virtio_net]
0.01%             wget  [kernel] [k] try_fill_recv     [virtio_net]
0.00%          swapper  [kernel] [k] xmit_skb  [virtio_net]
0.00%          swapper  [kernel] [k] free_old_xmit_skbs        [virtio_net]
0.00%          kswapd0  [kernel] [k] free_old_xmit_skbs        [virtio_net]
0.00%      flush-253:0  [kernel] [k] free_old_xmit_skbs        [virtio_net]
0.00%      flush-253:0  [kernel] [k] start_xmit        [virtio_net]
0.00%      flush-253:0  [kernel] [k] try_fill_recv     [virtio_net]</pre>
<p>Well, this is much better. virt-io uses about 1% of the average 25% system usage for the task, thats 0.25% of the total CPU, about 12 times more efficient!</p>
<p>So, what does this show us?</p>
<p>Well, this test would be a no-contest race anyway because on a VM like this <em>8139 </em>is not paravirtualized whereas <em>virt-io </em>is. Virt-IO was bound to win.</p>
<p>But what this does demonstrate is the difference in driver implementations can broadly affect the CPU. On consumer systems especially cheap NICs reduce performance over the long term by perhaps 3-4% of the CPU. This might not seem like a lot now, but when we delve into the realms of 10G ethernet, this will start to show on more modern CPUs. Having multiple CPUs handling incoming traffic will spread this load out leaving your system free to handle other tasks &#8211; or at least not block so much which could lead to increased throughput.</p>
<h1>Conclusion</h1>
<p>This change, ultimately, will make Linux CPUs perform better in very high speed networks. With the enterprise trend beginning to move to high speed SANS using ISCSI, and perhaps further in the future Fibre Channel over Ethernet, it becomes important for system adminstrators to know where their overheads are. 10G NICs in these environments will really benefit from multi-core CPUs which by the time 10G becomes the norm, most people should be using.</p>
<p>As a system administrator myself, I have a keen interest in resource accounting. Measuring efficiency is important in our business and improving it without having to do much effort on my own behalf I will always welcome.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ukfast.co.uk/2010/08/09/linux-2-6-35-and-smp-support-for-incoming-network-load/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Unnoticed Internet Milestone</title>
		<link>http://blog.ukfast.co.uk/2010/03/24/the-unnoticed-internet-milestone/</link>
		<comments>http://blog.ukfast.co.uk/2010/03/24/the-unnoticed-internet-milestone/#comments</comments>
		<pubDate>Wed, 24 Mar 2010 14:40:10 +0000</pubDate>
		<dc:creator>Pingu</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[birthday]]></category>
		<category><![CDATA[httpd]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[websites]]></category>

		<guid isPermaLink="false">http://www.ukfastblog.co.uk/?p=6480</guid>
		<description><![CDATA[Last month a significant milestone was achieved, but it would have passed by most people unnoticed. The Apache HTTP Server announced its 15th anniversary. Anyone worth their salt in the world of technology has used Apache, and every single internet user will have been visited sites powered by it. The press release reinforces all of [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.ukfastblog.co.uk/wp-content/uploads/2010/03/apache.gif"><img class="alignright size-full wp-image-6482" title="Apache Logo" src="http://www.ukfastblog.co.uk/wp-content/uploads/2010/03/apache.gif" alt="Apache Logo" width="350" height="185" /></a>Last month a significant milestone was achieved, but it would have passed by most people unnoticed. The Apache HTTP Server announced its 15th anniversary.<span id="more-6480"></span></p>
<p>Anyone worth their salt in the world of technology has used Apache, and every single internet user will have been visited sites powered by it.</p>
<p>The <a href="http://blogs.apache.org/foundation/entry/the_apache_software_foundation_announces2" target="_blank">press release</a> reinforces all of the achievements of the project during the last decade and a half. But one of the introductory paragraphs sums it up nicely:</p>
<blockquote><p>A triumph for the all-volunteer Foundation, the Apache HTTP Server reliably delivers petabytes of data across the world’s most demanding uses, including real-time news sources, Fortune 100 enterprise portals, cloud computing clusters, financial services platforms, mission-critical military intelligence applications, aerospace communications networks, and more. The server software can be downloaded, modified and installed by anyone free of charge.</p></blockquote>
<p>Well done to the Apache Foundation, and all the developers who have contributed to the HTTP Server project over the years, and made it the most popular webserver on the planet!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ukfast.co.uk/2010/03/24/the-unnoticed-internet-milestone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu 10.4 (Lucid Lynx) Beta 1 released</title>
		<link>http://blog.ukfast.co.uk/2010/03/24/ubuntu-10-4-lucid-lynx-beta-1-released/</link>
		<comments>http://blog.ukfast.co.uk/2010/03/24/ubuntu-10-4-lucid-lynx-beta-1-released/#comments</comments>
		<pubDate>Wed, 24 Mar 2010 13:01:48 +0000</pubDate>
		<dc:creator>Pingu</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[Lucid Lynx]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.ukfastblog.co.uk/?p=6449</guid>
		<description><![CDATA[This week provides a little extra excitement in the world of Linux. The newest version of Ubuntu (10.4) has been released for testing! Usual warning: this is a testing beta release, so don&#8217;t rely on it just yet! Firstly, one intersting point that people don&#8217;t realize &#8211; the Ubuntu version numbers are simply a reflection [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.ukfastblog.co.uk/wp-content/uploads/2010/03/ubuntu1.png"><img class="alignright size-thumbnail wp-image-6457" title="Ubuntu Logo" src="http://www.ukfastblog.co.uk/wp-content/uploads/2010/03/ubuntu1-150x150.png" alt="" width="150" height="150" /></a>This week provides a little extra excitement in the world of Linux. The newest version of Ubuntu (10.4) has been released for testing!<span id="more-6449"></span></p>
<p><strong>Usual warning:</strong> this is a testing beta release, so don&#8217;t rely on it just yet!</p>
<p>Firstly, one intersting point that people don&#8217;t realize &#8211; the Ubuntu version numbers are simply a reflection of the date they were released. Therefore this version, 10.4, will be released April 2010. This is key part of Ubuntu&#8217;s organization &#8211; that the release cycle is planned in advance, so everyone know what to expect.</p>
<p>The significance of this particular realase is that this is a <strong>LTS version</strong>, Ubuntu&#8217;s &#8220;Long Term Support&#8221; version, which are only released every two years. These special versions are supported for an extended period, three years on the Desktop version and five years on the Server version.</p>
<p>The result of this is that as a server admin you can install the LTS version, and be assured that security and bug fixes will continue to be supplied for the next five years. This means you can avoid having to upgrade your operating system every couple of months just to stay secure, like you do for other distributions.</p>
<p>The actually <a href="http://lwn.net/Articles/379709/" target="_blank">release notes</a> are pretty long and detailed, however I&#8217;ve extract some of the keys changes over the last few months:</p>
<blockquote><p>Ubuntu 10.04 LTS Desktop and Netbook Editions continue the trend of ever-faster boot speeds, with improved startup times and a streamlined, smoother boot experience.</p>
<p>Ubuntu 10.04 LTS brings many improvements over Ubuntu 8.04 LTS to keep your servers safe and secure for the next five years, including AppArmor profiles for many key services, kernel hardening, and an easy-to-configure firewall.</p></blockquote>
<p>And for those who like version numbers (as all Linux geeks should!), here&#8217;s some key details to oggle over:</p>
<p><strong>On the Desktop:</strong> GNOME 2.30, KDE SC 4.4, XFCE 4.6.1, OpenOffice.org 3.2.0, X.Org server 1.7.5</p>
<p><strong>On the Server:</strong> Apache 2.2, PostgreSQL 8.4, PHP 5.3.1, LTSP 5.2</p>
<p><strong>Under the hood:</strong> GCC 4.4.3, eglibc 2.11, Linux 2.6.32.9, Python 2.6.5</p>
<p>Of course all the information is publically avaliable, and worth a read over here on the <a href="http://www.ubuntu.com/testing/lucid/beta1" target="_blank">beta release site</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ukfast.co.uk/2010/03/24/ubuntu-10-4-lucid-lynx-beta-1-released/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Beauty in Numbers</title>
		<link>http://blog.ukfast.co.uk/2009/10/19/beauty-in-numbers/</link>
		<comments>http://blog.ukfast.co.uk/2009/10/19/beauty-in-numbers/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 14:22:55 +0000</pubDate>
		<dc:creator>Pingu</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.ukfastblog.co.uk/?p=6119</guid>
		<description><![CDATA[Every day I deal with tens of critically important servers. Database servers, web servers, mail servers &#8211; pretty much any machine used in a live setup is important, which makes checking the health of the server critical too. Every decent application produces logs, but turning these logs into something that you actually want to check [...]]]></description>
			<content:encoded><![CDATA[<p>Every day I deal with tens of critically important servers. Database servers, web servers, mail servers &#8211; pretty much any machine used in a live setup is important, which makes checking the health of the server critical too. Every decent application produces logs, but turning these logs into something that you actually want to check daily is the key to making sure you know the most about your servers.</p>
<p>I want to give you two examples taken from live severs to demonstrate the usefulness for monitoring servers, and in particular graphing their stats to show problems and illustrate long term trends which may need addressing in future.</p>
<h2>short term graphing</h2>
<p>If you&#8217;re processing hundreds of thousands of emails a day it&#8217;s hard, if not impossible to spot trends in your activity. If one day you send 12,000 messages instead of 8,000 how can you easily notice, and more importantly if it&#8217;s extraordinary?</p>
<p><a href="http://www.ukfastblog.co.uk/wp-content/uploads/2009/10/mail_graph1.jpg"><img class="aligncenter size-full wp-image-6122" title="mail_graph" src="http://www.ukfastblog.co.uk/wp-content/uploads/2009/10/mail_graph1.jpg" alt="mail_graph" width="603" height="298" /></a></p>
<p>Firstly doesn&#8217;t that look pretty? OK, maybe in quite a geeky way, but it shows you some important things which lets you make some presumptions.</p>
<ul>
<li>Most legitimate emails are sent and received during working hours Monday to Friday.</li>
<li>At the weekend a lot less legitimate emails are sent and received.</li>
<li>The background level of rejecting illegitimate email doesn&#8217;t adhere to a weekly cycle.</li>
</ul>
<p>On the whole the mail service seem pretty health, and shows a steady weekly pattern. It&#8217;s worth pointing out this server isn&#8217;t under huge load so the numbers aren&#8217;t massive. However it demonstrates the point well.</p>
<h2>longer term graphing</h2>
<p>Now for a  graphs which shows how various serious extraordinary activities can be easily identified in a longer time period. Take a plot from another server over the last year, this time of its load average.</p>
<p><a href="http://www.ukfastblog.co.uk/wp-content/uploads/2009/10/load-captions.jpg"><img class="aligncenter size-full wp-image-6126" title="load-captions" src="http://www.ukfastblog.co.uk/wp-content/uploads/2009/10/load-captions.jpg" alt="load-captions" width="603" height="228" /></a></p>
<p>Again, a pretty looking graph, with three key events:</p>
<ul>
<li>A complete gap in the graph in November.</li>
<li>A unique spike in load in March.</li>
<li>A drop in average load from the start of August.</li>
</ul>
<p>Let&#8217;s address these points in order. The gap in graphing could represent the server going down (a power outage, hardware failure etc). Now in reality it is actually due to the graphing system itself being upgraded, but for this article let&#8217;s call it an outage to demonstrate what it would like look if it really had happened. We can see after the outage the machine returned to around normal (for that period) load.</p>
<p>The second point, the massive spike in load was due to a DDOS attack against one of the hosted websites. It didn&#8217;t bring the server down (due to well configured apache, and quick action by the administrators) but it made the server work a lot harder than for the rest of the entire year. The results of this attack made us look at the general load levels of the server, and with a little more tweaking after the attack you can see the load average was leveled out to a more even average.</p>
<p>Four months later, and after trying to reduce the average load and memory usage further we decided to update the RAM in the server. The use of other graphs (not shown here) indicated that swap usage was increasing, as a physical memory upgrade was on the books. The results of this upgrade (which took so little time that you can&#8217;t see it on the graph) has dropped the average load to a fraction of the amount.</p>
<h2>in summary</h2>
<p>Graphing your stats provides a long term record of health and performance, and gives an interesting interactive method of keeping track of your servers. I certainly wouldn&#8217;t pore over pages of numbers to check the server daily, but instead I can at a glance see things are normal. For those wanting to try it themselves, I would recommend the powerful (bit a little complex) <a href="http://www.cacti.net/" target="_blank">Cacti</a> graphing suite, which is based on SNMP and rrdtool. There are simpler systems such as <a href="http://munin.projects.linpro.no/" target="_blank">Munin</a> too, but all run on LAMP systems well.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ukfast.co.uk/2009/10/19/beauty-in-numbers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2 weeks until Karmic Koala (aka Ubuntu Server 9.10)</title>
		<link>http://blog.ukfast.co.uk/2009/10/13/2-weeks-until-karmic-koala-aka-ubuntu-server-9-10/</link>
		<comments>http://blog.ukfast.co.uk/2009/10/13/2-weeks-until-karmic-koala-aka-ubuntu-server-9-10/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 13:58:15 +0000</pubDate>
		<dc:creator>Pingu</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.ukfastblog.co.uk/?p=6089</guid>
		<description><![CDATA[It&#8217;s been planned for months, the changes are all documented and even the next in line is already being worked on. None the less the excitement around the upcoming Ubuntu release is mounting! The new version of Ubuntu brings the usual bug fixes and package updates, but also lots of new software. This release includes [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been planned for months, the changes are all documented and even the next in line is already being worked on.  None the less the excitement around the upcoming Ubuntu release is mounting!</p>
<p>The new version of Ubuntu brings the usual bug fixes and package updates, but also lots of new software. This release includes more support for virtualization technology, both natively on Ubuntu servers themselves and via third parties services like Amazon. It now offers an entire enterprise grade platform for running virtual servers, all for free.</p>
<p>All the information about Ubuntu releases are <a href="https://wiki.ubuntu.com/KarmicReleaseSchedule" target="_blank">publicly available</a> long in advance. There are no surprises when the final version is ready for download. No excuse for developers to claim unexpected changes have broken the website &#8211; new features and bug fixes are addressed and added to the public development version of Ubuntu daily. You can download and install any development branch, which can give you a feel of an upcoming version in advance of it&#8217;s official <em>stable</em> release. Users can give their feedback and criticism to the developers and then submit their own fixes to problems, just like all well maintained Open Source projects.</p>
<p>It&#8217;s worth pointing out that Karmic is a standard 18 month support release, running through to April 2011, after which users will be expected to have moved onto a newer version in order to be kept secure and stable. But don&#8217;t worry! Ubuntu&#8217;s next <em>Long Term Support</em> (LTS) edition is due in April 2010, and will keep servers secure through to 2015.</p>
<div id="attachment_6096" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.ukfastblog.co.uk/wp-content/uploads/2009/10/koala-timeline-1024x478.jpg"><img class="size-medium wp-image-6096" title="koala-timeline-1024x478" src="http://www.ukfastblog.co.uk/wp-content/uploads/2009/10/koala-timeline-1024x478-300x140.jpg" alt="Ubuntu Timeline" width="300" height="140" /></a><p class="wp-caption-text">Ubuntu Timeline</p></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.ukfast.co.uk/2009/10/13/2-weeks-until-karmic-koala-aka-ubuntu-server-9-10/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Celebration of an Open Source Gem</title>
		<link>http://blog.ukfast.co.uk/2009/10/06/celebration-of-an-open-source-gem/</link>
		<comments>http://blog.ukfast.co.uk/2009/10/06/celebration-of-an-open-source-gem/#comments</comments>
		<pubDate>Tue, 06 Oct 2009 11:32:32 +0000</pubDate>
		<dc:creator>Pingu</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.ukfastblog.co.uk/?p=5999</guid>
		<description><![CDATA[Barely a few days ago the most recent version of one of the widest used security applications on the internet was released &#8211; OpenSSH 5.3. This little application has now reached it&#8217;s 10th birthday, and provides a set of tools which every system administrator who&#8217;s worth their salt uses daily. For the uninitiated (catch up [...]]]></description>
			<content:encoded><![CDATA[<p>Barely a few days ago the most recent version of one of the widest used security applications on the internet was released &#8211; <a href="http://www.openssh.com/" target="_blank">OpenSSH 5.3</a>. This little application has now reached it&#8217;s 10th birthday, and provides a set of tools which every system administrator who&#8217;s worth their salt uses daily.</p>
<p>For the uninitiated (catch up Windows!), SSH gives you an encrypted connection to your server wherever on the internet it is. OpenSSH has evolved greatly from what a lot of people perceive to be a secure version of telnet, but the modern truth is far from it. The feature list of OpenSSH is very impressive, and it not only allows seemless secure command line, it can handle dynamic SOCKS proxying for impromptu VPNs, public-key logins for password-less access, along with port fowarding and file transfers. Using the highly flexible X display system it can even forward graphical displays to remote machines as if they were on our own PC. These are all techniques which someone who wants the most from their system should learn to use.</p>
<p>OpenSSH has evolved from an extra layer of security into a whole suite of networking tools &#8211; all of which just happen to be fully encrypted and secure to use across public internet connections at the same time! It has also been ported to a whole raft of platforms (Windows, Solaris, HP, etc) and so taken a place right at the heart of the internet.</p>
<p>All this is a testament to the power of Open Source software, and demonstrates how a transparent and public security policy when developing software leads to very great things.</p>
<p style="text-align: center;"><img class="alignleft" title="openssh" src="http://www.ukfastblog.co.uk/wp-content/uploads/2009/10/openssh2.png" alt="openssh" width="194" height="191" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ukfast.co.uk/2009/10/06/celebration-of-an-open-source-gem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Open Source &#8211; a Sign of Things to Come?</title>
		<link>http://blog.ukfast.co.uk/2009/08/24/open-source-%e2%80%93-a-sign-of-things-to-come/</link>
		<comments>http://blog.ukfast.co.uk/2009/08/24/open-source-%e2%80%93-a-sign-of-things-to-come/#comments</comments>
		<pubDate>Mon, 24 Aug 2009 10:33:01 +0000</pubDate>
		<dc:creator>Pingu</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[UKFast]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[pingu]]></category>

		<guid isPermaLink="false">http://www.ukfastblog.co.uk/?p=5974</guid>
		<description><![CDATA[Traditionally, change is brought about by ideas, contributions, team work and communities. This is no less so in IT. Just a few years ago software and applications were seen as magical entities and few people understood how they worked. This lack of understanding inevitably led to problems like users being locked into applications that vendors [...]]]></description>
			<content:encoded><![CDATA[<p><strong> </strong></p>
<p>Traditionally, change is brought about by ideas, contributions, team work and communities. This is no less so in IT.</p>
<p>Just a few years ago software and applications were seen as magical entities and few people understood how they worked. This lack of understanding inevitably led to problems like users being locked into applications that vendors no longer promoted, even while they continued to collect support fees.</p>
<p>But now, as our lives plunge into the digital, people are more understanding of how applications work and in turn more able and willing to contribute to the science of IT. Today online organisations and businesses have a vision of how they want things to work, they want more flexibility online and are willing to fund the building of bespoke software.</p>
<p>UKFast puts 25 per cent of all resources into its R&amp;D department to develop software and applications. Most of our systems are written in-house by the UKFast R&amp;D community, to the exact specifications that our business needs.</p>
<p>Community is how Linux has developed over the years and with Google opening its speeding the web applications to the scrutiny of programmers we see a level of outsider contribution here too.</p>
<p>Facebook and other social networking sites have allowed third parties to create add-on applications which contribute to the level of customer enjoyment. But what about those companies that charge us for licence fees and bar us from personal modifications – well even they’re on the turn, it seems.</p>
<p>Microsoft has over the past year, <a title="Microsoft donates code " href="http://news.idg.no/cw/art.cfm?id=3E8FFC06-1A64-6A71-CEB8414EFC373373" target="_self">donated code to PHP</a>, offered support to the Apache Foundation, and it made its first code submission to the Linux kernel just last month.</p>
<p>There have also been suggestions of more schools and workplaces adopting open source in their organisations to cut license costs. It’s long been part of the battle that the world’s kids are introduced to Microsoft at a young and pliable age – so many don’t even know there is an alternative.</p>
<p>So maybe the future is different. Will we see IT lessons shift from creating a PowerPoint presentation to building the programme itself? I certainly hope so!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ukfast.co.uk/2009/08/24/open-source-%e2%80%93-a-sign-of-things-to-come/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wine &#8211; the Linux Drink of Choice</title>
		<link>http://blog.ukfast.co.uk/2009/02/22/wine-the-linux-drink-of-choice/</link>
		<comments>http://blog.ukfast.co.uk/2009/02/22/wine-the-linux-drink-of-choice/#comments</comments>
		<pubDate>Sun, 22 Feb 2009 20:09:35 +0000</pubDate>
		<dc:creator>Pingu</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[migration]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[Wine]]></category>

		<guid isPermaLink="false">http://www.ukfastblog.co.uk/?p=3255</guid>
		<description><![CDATA[So, as my ongoing quest to expand the Linux user base continues, I want to mention the middle ground people often get stuck in. It&#8217;s often perceived as a no-mans lands between the two waring sides, however there is a &#8220;bridge of peace&#8221; between the two so to speak. This comes in the unexpected form, [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" src="http://winehq.org/images/winehq_logo_glass.png" alt="" width="120" height="188" />So, as my ongoing quest to expand the Linux user base continues, I want to mention the middle ground people often get stuck in. It&#8217;s often perceived as a no-mans lands between the two waring sides, however there is a <em>&#8220;bridge of peace&#8221;</em> between the two so to speak. This comes in the unexpected form, of a much enjoyed tasty drink: <strong>Wine</strong>.</p>
<p>OK, obviously I lie, Wine is actually a program which lets you run Windows software in Linux. For many this idea seems a bit crazy &#8211; in most respects Windows &amp; Linux are so different just running a program built for one OS, out of the box on the other is pretty much inconceivable.</p>
<p>So before I go further, let me just give you the proper definition of Wine, as taken from the development team&#8217;s website: <a href="http://www.winehq.org" target="_blank">Wine HQ</a>.</p>
<blockquote><p>Wine is a translation layer (a program loader) capable of running Windows applications on Linux and other POSIX compatible operating systems.  Windows programs running in Wine act as native programs would, running without the performance or memory usage penalties of an emulator, with a similar look and feel to other applications on your desktop.</p></blockquote>
<p>There&#8217;s one little line in that definiton that gives rise to Wine&#8217;s name, &#8220;<em>without the performance or memory usage penalties of an emulator</em>&#8220;. Wine stands for (in the classic Linux <a href="http://en.wikipedia.org/wiki/Recursive_acronym" target="_blank">Recursive Acronym</a> way): <strong>W</strong>ine <strong>I</strong>s <strong>N</strong>ot an <strong>E</strong>mulator. Now I&#8217;m not going to go into the details of how it works, but you can consider modern versions of wine as almost stripped-down versions of Windows.</p>
<p>And there are actual real life examples of this &#8211; Windows application which run better on Linux than on their native OS. Yes, programs never designed to run on Linux, actually performing better on the same hardware.</p>
<div class="wp-caption alignright" style="width: 310px"><a href="http://farm4.static.flickr.com/3183/2553058293_d911d98f33.jpg"><img src="http://farm4.static.flickr.com/3183/2553058293_d911d98f33.jpg" alt="" width="300" height="188" /></a><p class="wp-caption-text">Word running on Linux? Yes!</p></div>
<p>Now being a true Linux advocate, I&#8217;d always prefer running software developed by the open source community. However I also understand sometimes you have no other choice &#8211; which of course is what drives the development of Wine. The biggest driving force of this development &#8211; Games. There was big fanfare when tests showed Quake 3 out performing the native Windows version.</p>
<p>However over here at <a href="http://www.ukfast.co.uk">UKFast</a> the call of Wine in day-to-day use is not great, indeed generally in the world of <a href="http://www.ukfast.co.uk/linux-server.html" target="_blank">high-spec Linux servers</a>, running Windows software is not needed. But the simple reason I wanted to discuss it was to help people try, and eventually full-migrate to, Linux, and as my previous post said &#8211; <strong>Submerge Yourself in Linux.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ukfast.co.uk/2009/02/22/wine-the-linux-drink-of-choice/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Submerge Yourself in Linux &#8211; Without Drowning</title>
		<link>http://blog.ukfast.co.uk/2009/02/10/submerge-yourself-in-linux-without-drowning/</link>
		<comments>http://blog.ukfast.co.uk/2009/02/10/submerge-yourself-in-linux-without-drowning/#comments</comments>
		<pubDate>Tue, 10 Feb 2009 15:45:29 +0000</pubDate>
		<dc:creator>Pingu</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[console]]></category>
		<category><![CDATA[operating system]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.ukfastblog.co.uk/?p=4533</guid>
		<description><![CDATA[As the title of my first post touched on, Linux has a steep learning curve, and I don&#8217;t think many people would disagree. The power, freedom and control of Linux is certainly what draws and maintains the vast majority of its users. The first steps into Linux could be from the demands of an over-worked [...]]]></description>
			<content:encoded><![CDATA[<div class="wp-caption alignright" style="width: 330px"><img src="http://farm3.static.flickr.com/2052/2459390671_327ff7bdf4.jpg" alt="" width="320" height="240" /><p class="wp-caption-text">A Modern Linux Desktop: not so scary any more!</p></div>
<p>As the title of my first post touched on, Linux has a steep learning curve, and I don&#8217;t think many people would disagree.</p>
<p>The power, freedom and control of Linux is certainly what draws and maintains the vast majority of its users. The first steps into Linux could be from the demands of an over-worked office mail server, right down to getting frustrated one too many times with having to reboot your Windows desktop computer.</p>
<p>In the last five years the development of the Linux desktop has been amazing, and has done a massive amount to recruit new users, most of whom want to escape the frustration of day to day Windows use. However in the world of servers, firewalls, routers and racks, the image of a flashing white cursor on a black background is not escapable regardless of how much the desktop distributions have developed. As the endless blinking continues, awaiting your beckoning command, for many uninitiated users, this gives a sense of horror &#8211; &#8220;What on Earth do I do?&#8221;</p>
<p>Actually &#8211; take that back &#8211; my previous statement isn&#8217;t entirely correct. You <em>can </em>bypass the blinking light, and administer a server, hosted in a purpose build <a href="http://www.manoc.co.uk/" target="_blank">datacentre</a> in a remote location without punching commands into a console. Control panels like <a href="http://www.ukfast.co.uk/Plesk-hosting-guide.html" target="_blank">Plesk</a>, which we provide to many clients, allow access to the internal workings of a Linux server, without getting your hands dirty. But I&#8217;ve always questioned how much this actually teaches about the system your running, regardless of its operating system. I&#8217;ve learnt so much from my exploration of Linux that I encourage everybody to explore and learn for them selves what&#8217;s going on.</p>
<p>Inversely to the horror experienced by many first-timers, the command line is something I, and my colleagues on the Linux team adore. Its immediate uninhibited access to control the machine is something you become so used to, having it withdrawn from you can make you feel utterly powerless (as I do when presented with a graphical desktop and told to &#8220;fix the web server!&#8221;).</p>
<p>So how do you go about submerging yourself in Linux without scarying yourself witless. The <a href="http://www.ubuntu.com/" target="_blank">Ubuntu</a> Linux distribution is an excellent example of how to approach Linux with this intent. It provides a feature rich and easy to install desktop environment, which is straight forward enough for a long term Windows user to pick up in a minute.</p>
<p>But the code and software behind the scenes is <strong>exactly </strong>the same as runs the <a href="http://www.ubuntu.com/products/whatisubuntu/serveredition" target="_blank"><em>server edition</em></a> of Ubuntu. Actually, the desktop edition is just an extension of the server edition, the same edition we supply in the rack-mounted, quad-core, ultra-quick, super-dooper servers we host for some of our largest clients.</p>
<p>And I would encourage everyone to try it. Get it installed, play around &#8211; and then one day, click that little icon of white text on black background. You may have no idea what to do when you see that blinking cursor, however the entire evolution of Linux has been based on communities (something else I plan on discussing in a later post), and now they are stronger than ever. So just pop over to the <a href="http://ubuntuforums.org/" target="_blank">Ubuntu Forums</a> and say hi, you&#8217;ll probably see one of us chipping in. Hopefully one day you&#8217;ll end up with a blinking cursor on a high-spec <a href="http://www.ukfast.co.uk/linux-server.html" target="_blank">UKFast Linux server</a> all of your own!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ukfast.co.uk/2009/02/10/submerge-yourself-in-linux-without-drowning/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux Learning Curve</title>
		<link>http://blog.ukfast.co.uk/2009/02/07/linux-learning-curve/</link>
		<comments>http://blog.ukfast.co.uk/2009/02/07/linux-learning-curve/#comments</comments>
		<pubDate>Sat, 07 Feb 2009 18:51:14 +0000</pubDate>
		<dc:creator>Pingu</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[knowledge]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[plesk]]></category>

		<guid isPermaLink="false">http://www.ukfastblog.co.uk/?p=3285</guid>
		<description><![CDATA[Whilst thinking about where to start this newly extended Linux section of the UKFast blog, it dawned on me to simply start at the beginning and grow from there. A curious statement you may say, but one I had to think about in order to qualify. For me it started around ten years ago with [...]]]></description>
			<content:encoded><![CDATA[<p>Whilst thinking about where to start this newly extended Linux section of the UKFast blog, it dawned on me to simply start at the beginning and grow from there. A curious statement you may say, but one I had to think about in order to qualify.</p>
<p>For me it started around ten years ago with an inspirational school teacher, a CD burner and a bit of free time. Looking back at this makes me think about how exactly I was able to turn this serendipitous introduction into a profession.</p>
<p>For myself, the astounding power and freedom of the Linux operating system makes it a natural choice. However this comes around from a confidence I have developed in its use and abilities (including fixing it when it goes wrong!). But I don&#8217;t think many people will disagree with the statement that Linux has a steep learning curve &#8211; people just can&#8217;t get off the ground.</p>
<p>Just the other day I overheard a brilliant example which embodies probably the very central issue new users have: &#8220;The Black Screen With White Text&#8221;.</p>
<div id="attachment_4293" class="wp-caption alignleft" style="width: 208px"><img class="size-full wp-image-4293" title="linux" src="http://www.ukfastblog.co.uk/wp-content/uploads/2009/02/linux.jpg" alt="Black screen with white writing" width="198" height="179" /><p class="wp-caption-text">Black screen with white text</p></div>
<p>But there are many ways to overcome this &#8211; including the use of the Plesk control panel &#8211; which we will talk about in one of my next posts.</p>
<p>For me, one of the main reasons to keep learning is being able to put back into the community I&#8217;ve taken from. Just like the teacher who inspired me in the first place a decade ago. The pleasure of being able to give back knowledge after you&#8217;ve taken so much is excellent. This strong driving force of the open source community is something I certainly plan on talking about more in my up coming posts.</p>
<p>However, the queston I&#8217;ll tackle next time is &#8211; How to submerge yourself in linux.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ukfast.co.uk/2009/02/07/linux-learning-curve/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Windows v Linux</title>
		<link>http://blog.ukfast.co.uk/2008/08/20/windows-v-linux/</link>
		<comments>http://blog.ukfast.co.uk/2008/08/20/windows-v-linux/#comments</comments>
		<pubDate>Wed, 20 Aug 2008 17:19:43 +0000</pubDate>
		<dc:creator>Mother Superior</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://ukfastblog.live.text.co.uk/?p=2353</guid>
		<description><![CDATA[In the hosting industry we’re seeing an increase in the number of businesses opting for Linux-based servers. If you’re looking to host a quality website you’ll be looking for the most stable technology on which to build your online presence. So, how do Windows and Linux platforms differ and which offers you the best service? [...]]]></description>
			<content:encoded><![CDATA[<p>In the hosting industry we’re seeing an increase in the number of businesses opting for Linux-based servers. If you’re looking to host a quality website you’ll be looking for the most stable technology on which to build your online presence. So, how do Windows and Linux platforms differ and which offers you the best service?</p>
<p>Linux’s obvious bonus is in the cost. With open source software there are no licensing fees. Linux is also renowned for its stability and for its diversity. Every “flavour” or “distro” offers strengths in different areas, so users are able to choose one to put to a specific purpose. However, some people see the amount of Linux flavours as counterproductive as they dilute the open source market and put off new users.</p>
<p>Linux applications are modifiable to suit your needs and with online open source forums help is readily available. Because Linux can be modified, less space is taken up with pre-installed, often-unnecessary control panels and applications.</p>
<p>So why has Windows long been the more popular choice? The obvious reason for this is its immediately recognisable branding. Microsoft is known the world over.</p>
<p>Knowledge of Windows’ easily navigable control panel is transferable throughout every application so systems are user-friendly. Every Linux desktop can be tailored to look and act differently which may be confusing. However, more experienced Linux users tend to find this a positive.</p>
<p>With regards to security the vast majority of spyware and viruses affect Windows systems. Windows users should be vigilant and use preventative patches, firewalls and updates to keep their servers safe.</p>
<p>Both systems have their pros and cons. Linux is the safer, more secure, cheaper option &#8211; which is the reason for its current growth whilst Windows is more user-friendly but it is expensive.</p>
<p>With regards to business servers, if you’re investing in a managed option, you won’t have to deal with scary Linux control panels anyway. Nor will you have to deal with extra Windows security issues.</p>
<p>When you sign up for a solution make sure you discuss your needs thoroughly with an expert advisor – you may find you need a multi-faceted, cross platform clustered solution. Because every online business is different, every solution should be too.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ukfast.co.uk/2008/08/20/windows-v-linux/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

