<?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>Stéphane Graber&#039;s website &#187; Planet Ubuntu</title>
	<atom:link href="http://www.stgraber.org/category/planet-ubuntu/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.stgraber.org</link>
	<description></description>
	<lastBuildDate>Tue, 05 Feb 2013 20:15:43 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>NorthSec 2013</title>
		<link>http://www.stgraber.org/2013/02/05/northsec-2013/</link>
		<comments>http://www.stgraber.org/2013/02/05/northsec-2013/#comments</comments>
		<pubDate>Tue, 05 Feb 2013 20:05:26 +0000</pubDate>
		<dc:creator>Stéphane Graber</dc:creator>
				<category><![CDATA[Canonical voices]]></category>
		<category><![CDATA[Planet Ubuntu]]></category>
		<category><![CDATA[northsec]]></category>

		<guid isPermaLink="false">https://www.stgraber.org/?p=499</guid>
		<description><![CDATA[So, when I&#8217;m not busy working on Ubuntu, or on LXC, or on Edubuntu, or &#8230; I also spend some of my spare time preparing the upcoming NorthSec 2013 security contest which will be held from Friday the 5th of &#8230; <a class="more-link" href="http://www.stgraber.org/2013/02/05/northsec-2013/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><a title="NorthSec Website" href="http://www.nsec.io/en" target="_blank"><img class="aligncenter" alt="NorthSec logo" src="/download/images/nsec-logo.png" /></a></p>
<p>So, when I&#8217;m not busy working on Ubuntu, or on LXC, or on Edubuntu, or &#8230; I also spend some of my spare time preparing the upcoming <a href="http://www.nsec.io/en" title="NorthSec Website" target="_blank">NorthSec 2013</a> security contest which will be held from <b>Friday the 5th of April</b> to <b>Sunday the 7th of April</b> at <b>ETS in downtown Montreal</b>.</p>
<p>NorthSec can be seen as the successor of HackUS 2010 and HackUS 2011 which both were held where I currently live, in Sherbrooke, QC. This year, we&#8217;re moving to Montreal, in the hope of attracting more people, especially from other Canadian provinces and from abroad.</p>
<p>I&#8217;m personally mostly involved with the internal infrastructure side of things, building the Ubuntu based infrastructure required to simulate the hundreds of servers and services used for the contest. All of that while making sure everything is rock solid and copes extremely well under pressure (considering what our contestants tend to throw at us).</p>
<p>I also usually get involved with some of the tracks, mostly the networking one, trying to think of really twisted setups ranging from taking over an active IPv6 network to hijacking IPs by messing with a badly configured BGP router (taken from past editions).</p>
<p>Outside of our twisted network challenges, we have quite a few more things to offer, here&#8217;s the current list of tracks for this year:</p>
<ul>
<li>Trivias (they seem easy but people are known to have wasted hours on them)</li>
<li>Web (sql injection, xss anyone?)</li>
<li>Binaries (because we know you love those)</li>
<li>Networking (my track of choice)</li>
<li>Reverse Java</li>
</ul>
<p>And if anyone manages to finish everything, don&#8217;t worry, we&#8217;ll come up with more.<br />
As far as I know, we never had a single team get bored in the past two editions <img src='http://www.stgraber.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>So if you&#8217;re interested in computer security, want to try to prove how good you are at finding security flaws and exploiting them or just want to see what that thing is all about, well you should consider a trip to Montreal in early April.<br />
All the details you need are at: <a href="http://www.nsec.io/en" title="NorthSec Website" target="_blank">http://www.nsec.io/en</a></p>
<p>If you are a company interested in helping us with sponsorship, I hear that we&#8217;re always looking for more sponsors. So if that&#8217;s something you can help with, feel free to contact me directly at: <b>stgraber at nsec dot io</b></p>
]]></content:encoded>
			<wfw:commentRss>http://www.stgraber.org/2013/02/05/northsec-2013/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Running Steam in a LXC container</title>
		<link>http://www.stgraber.org/2012/11/16/running-steam-in-a-lxc-container/</link>
		<comments>http://www.stgraber.org/2012/11/16/running-steam-in-a-lxc-container/#comments</comments>
		<pubDate>Fri, 16 Nov 2012 23:48:01 +0000</pubDate>
		<dc:creator>Stéphane Graber</dc:creator>
				<category><![CDATA[Canonical voices]]></category>
		<category><![CDATA[Conferences]]></category>
		<category><![CDATA[LXC]]></category>
		<category><![CDATA[Planet Ubuntu]]></category>

		<guid isPermaLink="false">http://www.stgraber.org/?p=476</guid>
		<description><![CDATA[Anyone who met me probably knows that I like to run everything in containers. A couple of weeks ago, I was attending the Ubuntu Developer Summit in Copenhagen, DK where I demoed how to run OpenGL code from within an &#8230; <a class="more-link" href="http://www.stgraber.org/2012/11/16/running-steam-in-a-lxc-container/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Anyone who met me probably knows that I like to run everything in containers.</p>
<p>A couple of weeks ago, I was attending the Ubuntu Developer Summit in Copenhagen, DK where I demoed how to run OpenGL code from within an LXC container. At that same UDS, all attendees also received a beta key for Steam on Linux.</p>
<p>Yesterday I finally received said key by e-mail and I&#8217;ve been experimenting with Steam a bit. Now, my laptop is running the development version of Ubuntu 13.04 and only has 64bit binaries. Steam is 32bit-only and Valve recommends running it on Ubuntu 12.04 LTS.</p>
<p>So I just spent a couple of hours writing a tool called <b>steam-lxc</b> which uses LXC&#8217;s new python API and a bunch more python magic to generate an Ubuntu 12.04 LTS 32bit container, install everything that&#8217;s needed to run Steam, then install Steam itself and configures some tricks to get direct GPU access and access to pulseaudio for sound.</p>
<p>All in all, it only takes 3 minutes for the script to setup everything I need to run Steam and then start it.</p>
<p>Here&#8217;s a (pretty boring) <a href="https://www.youtube.com/watch?v=IorxJsw09vY">screencast</a> of the script in action:<br />
<iframe width="640" height="360" src="http://www.youtube.com/embed/IorxJsw09vY?feature=player_detailpage" frameborder="0" allowfullscreen></iframe></p>
<p>This script has only been tested with Intel hardware on Ubuntu 13.04 64bit at this point, but the PPA contains builds for Ubuntu 12.04 and Ubuntu 12.10 too.</p>
<p>To get it on your machine just do:</p>
<ul>
<li>sudo apt-add-repository ppa:ubuntu-lxc/stable</li>
<li>sudo apt-get update</li>
<li>sudo apt-get install steam-lxc</li>
<li>sudo mkdir -p /var/lib/lxc /var/cache/lxc</li>
</ul>
<p>Then once that&#8217;s all installed, set it up with <b>sudo steam-lxc create</b>. This can take somewhere from 5 minutes to an hour depending on your internet connection.</p>
<p>And once the environment is all setup, you can start steam with <b>sudo steam-lxc run</b>.</p>
<p>The code can be found at: <a href="https://code.launchpad.net/~ubuntu-lxc/lxc/steam-lxc">https://code.launchpad.net/~ubuntu-lxc/lxc/steam-lxc</a></p>
<p>You can leave your feedback as comment here and if you want to improve the script, merge proposals are more than welcome.<br />
I don&#8217;t have any hardware requiring proprietary drivers but I&#8217;d expect steam to fail on such hardware as the drivers won&#8217;t get properly installed in the container. Adding code to deal with those is pretty easy and I&#8217;d love to get some patches for that!</p>
<p>Have fun!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stgraber.org/2012/11/16/running-steam-in-a-lxc-container/feed/</wfw:commentRss>
		<slash:comments>27</slash:comments>
		</item>
		<item>
		<title>Edubuntu: The path to 14.04 LTS</title>
		<link>http://www.stgraber.org/2012/10/21/edubuntu-the-path-to-14-04-lts/</link>
		<comments>http://www.stgraber.org/2012/10/21/edubuntu-the-path-to-14-04-lts/#comments</comments>
		<pubDate>Sun, 21 Oct 2012 13:26:57 +0000</pubDate>
		<dc:creator>Stéphane Graber</dc:creator>
				<category><![CDATA[Canonical voices]]></category>
		<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Edubuntu]]></category>
		<category><![CDATA[LTSP]]></category>
		<category><![CDATA[LXC]]></category>
		<category><![CDATA[Planet Ubuntu]]></category>

		<guid isPermaLink="false">http://www.stgraber.org/?p=450</guid>
		<description><![CDATA[(tl;dr: Edubuntu 14.04 will include a new Edubuntu Server and Edubuntu tablet edition with a lot of cool new features including a full feature Active Directory compatible domain.) Now that Edubuntu 12.10 is out the door and the Ubuntu Developer &#8230; <a class="more-link" href="http://www.stgraber.org/2012/10/21/edubuntu-the-path-to-14-04-lts/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>(tl;dr: Edubuntu 14.04 will include a new Edubuntu Server and Edubuntu tablet edition with a lot of cool new features including a full feature Active Directory compatible domain.)</p>
<p>Now that Edubuntu 12.10 is <a title="Edubuntu 12.10 release announcement" href="http://www.edubuntu.org/news/12.10-release" target="_blank">out the door</a> and the <a title="Ubuntu Developer Summit" href="http://uds.ubuntu.com" target="_blank">Ubuntu Developer Summit</a> in Copenhagen is just a week away, I thought it&#8217;d be an appropriate time to share our vision for Edubuntu 14.04.</p>
<p>This was so far only discussed in person with <a href="http://www.jonathancarter.org" title="Jonathan Carter's blog" target="_blank">Jonathan Carter</a> and a bit on IRC with other Edubuntu developers but I think it&#8217;s time to make our plans a bit more visible so we can get more feedback and hopefully get interested people together next week at UDS.</p>
<p>There are three big topics I&#8217;d like to talk about. Edubuntu desktop, Edubuntu server and Edubuntu tablet.</p>
<h1>Edubuntu desktop</h1>
<p>Edubuntu desktop is what we&#8217;ve been offering since the first Edubuntu release and what we&#8217;ll obviously continue to offer pretty much as it&#8217;s today.<br />
It&#8217;s not an area I plan on spending much time working on personally but I expect Jonathan to drive most of the work around this.</p>
<p>Basically what the Edubuntu desktop needs nowadays is a better application selection, better testing, better documentation, making sure our application selection works on all our supported platforms and is properly translated.</p>
<p>We&#8217;ll also have to refocus some of our efforts and will likely drop some things like our KDE desktop package that hasn&#8217;t been updated in years and was essentially doubling our maintenance work which is why we stopped supporting it officially in 12.04.</p>
<p>There are a lot of cool new tools we&#8217;ve heard of recently and that really should be packaged and integrated in Edubuntu.</p>
<h1>Edubuntu Server</h1>
<p>Edubuntu Server will be a new addition to the Edubuntu project, expected to ship in its final form in 14.04 and will be supported for 5 years as part of the LTS.</p>
<p>This is the area I&#8217;ll be spending most of my Edubuntu time on as it&#8217;s going to be using a lot of technologies I&#8217;ve been involved with over the years to offer what I hope will be an amazing server experience.</p>
<p>Edubuntu Server will essentially let you manage a network of Edubuntu, Ubuntu or Windows clients by creating a full featured domain (using samba4).</p>
<p>From the same install DVD as Edubuntu Desktop, you&#8217;ll be able to simply choose to install a new Edubuntu Server and create a new domain, or if you already have an Edubuntu domain or even an Active Directory domain, you&#8217;ll be able to join an extra server to add extra scalibility or high-availability.</p>
<p>On top of that core domain feature, you&#8217;ll be able to add extra roles to your Edubuntu Server, the initial list is:</p>
<ul>
<li>Web hosting platform &#8211; Will let you deploy new web services using <a href="http://juju.ubuntu.com" title="JuJu" target="_blank">JuJu</a> so schools in your district or individual teachers can easily get their own website.</li>
<li>File server &#8211; A standard samba3 file server so all your domain members can easily store and retrieve files.</li>
<li>Backup server &#8211; Will automatically backup the important data from your servers and if you wish, from your clients too.</li>
<li>Schooltool &#8211; A school management web service, taking care of all the day to day school administration.</li>
</ul>
<p>LTSP will also be part of that system as part of Edubuntu Terminal Server which will let you, still from our single install media, install as many new terminal servers as you want, automatically joining the domain, using the centralized authentication, file storage and backup capabilities of your Edubuntu Server.</p>
<p>As I mentioned, the Edubuntu DVD will let you install Edubuntu Desktop, Edubuntu Server and Edubuntu Terminal Server. You&#8217;ll simply be asked at installation time whether you want to join an Edubuntu Server or Active Directory domain or if you want your machine to be standalone.</p>
<p>Once installed, Edubuntu Server will be managed through a web interface driving LXC behind the scene to deploy new services, upgrade individual services or deploy new web services using JuJu.<br />
Our goal is to have Edubuntu Server offer an appliance-like experience, never requiring any command line access to the system and easily supporting upgrades from a version to another.</p>
<p>For those wondering what the installation process will look like, I have some notes of the changes available at: <a href="http://paste.ubuntu.com/1289041/" title="Installer mockup" target="_blank">http://paste.ubuntu.com/1289041/</a><br />
I&#8217;m expecting to have the installer changes implemented by the time we start building our first 13.04 images.</p>
<p>The rest of Edubuntu Server will be progressively landing during the 13.04 cycle with an early version of the system being released with Edubuntu 13.04, possibly with only a limited selection of roles and without initial support for multiple servers and Active Directory integration.</p>
<p>While initially Edubuntu branded, our hope is that this work will be re-usable by Ubuntu and may one day find its way into Ubuntu Server.<br />
Doing this as part of Edubuntu will give us more time and more flexibility to get it right, build a community around it and get user feedback before we try to get the rest of the world to use it too.</p>
<h1>Edubuntu Tablet</h1>
<p>During the Edubuntu 12.10 development cycle, the Edubuntu Council approved the sponsorship of 5 tablets by <a href="http://www.rlnx.com" title="Revolution Linux" target="_blank">Revolution Linux</a> which were distributed to some of our developers.</p>
<p>We&#8217;ve been doing daily armhf builds of Edubuntu, refined our package selections to properly work on ARM and spent countless hours fighting to get our tablet to boot (a ZaTab from <a href="http://zareason.com" title="zareason" target="_blank">ZaReason</a>).<br />
Even though it&#8217;s been quite a painful experience so far, we&#8217;re still planning on offering a supported armhf tablet image for 14.04, running something very close to our standard Edubuntu Desktop and also featuring integration with Edubuntu Server.</p>
<p>With all the recent news about Ubuntu on the Nexus 7, we&#8217;ll certainly be re-discussing what our main supported platform will be during next week&#8217;s UDS but we&#8217;re certainly planning on releasing 13.04 with experimental tablet support.</p>
<h1>LTS vs non-LTS</h1>
<p>For those who read our release announcement or visited our website lately, you certainly noticed the emphasis on using the LTS releases.<br />
We really think that most Edubuntu users want something that&#8217;s stable, very well tested with regular updates and a long support time, so we&#8217;re now always recommending the use of the latest LTS release.</p>
<p>That doesn&#8217;t mean we&#8217;ll stop doing non-LTS release like the Mythbuntu folks recently decided to do, pretty far from that. What it means however is that we&#8217;ll more freely experiment in non-LTS releases so we can easily iterate through our ideas and make sure we release something well polished and rock solid for our LTS releases.</p>
<h1>Conclusion</h1>
<p>I&#8217;m really really looking forward to Edubuntu 14.04. I think the changes we&#8217;re planning will help our users a lot and will make it easier than ever to get school districts and individual schools to switch to Edubuntu for both their backend infrastructure with Edubuntu Server and their clients with Edubuntu Desktop and Edubuntu Tablet.</p>
<p>Now all we need is your ideas and if you have some, your time to make it all happen. We usually hang out in #edubuntu on freenode and can also be contacted on the <a href="http://lists.ubuntu.com/edubuntu-devel" title="edubuntu-devel mailing-list" target="_blank">edubuntu-devel mailing-list</a>.</p>
<p>For those of you going to UDS, we&#8217;ll try to get an informational session on Edubuntu Server scheduled on top of our usual Edubuntu session. If you&#8217;re there and want to know more or want to help, please feel free to grab Jonathan or I in the hallway, at the bar or at one of the evening activities.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stgraber.org/2012/10/21/edubuntu-the-path-to-14-04-lts/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Introducing the python LXC API</title>
		<link>http://www.stgraber.org/2012/09/28/introducing-the-python-lxc-api/</link>
		<comments>http://www.stgraber.org/2012/09/28/introducing-the-python-lxc-api/#comments</comments>
		<pubDate>Fri, 28 Sep 2012 21:02:28 +0000</pubDate>
		<dc:creator>Stéphane Graber</dc:creator>
				<category><![CDATA[Canonical voices]]></category>
		<category><![CDATA[LXC]]></category>
		<category><![CDATA[Planet Ubuntu]]></category>

		<guid isPermaLink="false">http://www.stgraber.org/?p=435</guid>
		<description><![CDATA[One of our top goals for LXC upstream work during the Ubuntu 12.10 development cycle was reworking the LXC library and turn it from a private library mostly used by the other lxc-* commands into something that&#8217;s easy for developers &#8230; <a class="more-link" href="http://www.stgraber.org/2012/09/28/introducing-the-python-lxc-api/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>One of our top goals for LXC upstream work during the Ubuntu 12.10 development cycle was reworking the LXC library and turn it from a private library mostly used by the other lxc-* commands into something that&#8217;s easy for developers to work with and is accessible from other languages with some bindings.</p>
<p>Although the current implementation isn&#8217;t complete enough to consider the API stable and some changes will still happen to it over the months to come, we have pushed the initial implementation to the LXC <a href="http://github.com/lxc/lxc" title="LXC staging tree on github" target="_blank">staging branch on github</a> and put it into the lxc package of Ubuntu 12.10.</p>
<p>The initial version comes with a python3 binding packaged as <a href="apt://python3-lxc" title="Install python3-lxc" target="_blank">python3-lxc</a>, that&#8217;s what I&#8217;ll use now to give you an idea of what&#8217;s possible with the API. Note that as we don&#8217;t have full user namespaces support at the moment, any code using the LXC API needs to run as root.</p>
<p>First, let&#8217;s start with the basics, creating a container, starting it, getting its IP and stopping it:</p>
<pre>#!/usr/bin/python3
import lxc
container = lxc.Container("my_container")
container.create("ubuntu", {"release": "precise", "architecture": "amd64"})
container.start()
print(container.get_ips(timeout=10))
container.shutdown(timeout=10)
container.destroy()</pre>
<p>So, pretty simple.<br />
It&#8217;s also possible to modify the container&#8217;s configuration using the .get_config_item(key) and .set_config_item(key, value) functions. For those keys supporting multiple values, a list will be returned and a list will be accepted as a value by .set_config_item.</p>
<p>Network configuration can be accessed through the .network property which is essentially a list of all network interfaces of the container, properties can be changed that way or through .set_config_item and saved to the config file with .save_config().</p>
<p>The API isn&#8217;t terribly well documented at this point, help messages are present for all functions but there&#8217;s no generated html help yet.</p>
<p>To get a better idea of the functions exported by the API, you may want to look at the <a href="https://github.com/lxc/lxc/blob/staging/src/python-lxc/examples/api_test.py" title="API test script" target="_blank">API test script</a>. This script uses all the functions and properties exported by the python module so it should be a reasonable reference.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stgraber.org/2012/09/28/introducing-the-python-lxc-api/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Easily ssh to your containers and VMs on Ubuntu 12.04</title>
		<link>http://www.stgraber.org/2012/07/17/easily-ssh-to-your-containers-and-vms-on-ubuntu-12-04-lts/</link>
		<comments>http://www.stgraber.org/2012/07/17/easily-ssh-to-your-containers-and-vms-on-ubuntu-12-04-lts/#comments</comments>
		<pubDate>Tue, 17 Jul 2012 15:22:08 +0000</pubDate>
		<dc:creator>Stéphane Graber</dc:creator>
				<category><![CDATA[Canonical voices]]></category>
		<category><![CDATA[LXC]]></category>
		<category><![CDATA[Planet Ubuntu]]></category>

		<guid isPermaLink="false">http://www.stgraber.org/?p=412</guid>
		<description><![CDATA[With the DNS changes in Ubuntu 12.04, most development machines running with libvirt and lxc end up running quite a few DNS servers. These DNS servers work fine when queried from a system on their network, but aren&#8217;t integrated with &#8230; <a class="more-link" href="http://www.stgraber.org/2012/07/17/easily-ssh-to-your-containers-and-vms-on-ubuntu-12-04-lts/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>With the <a href="http://www.stgraber.org/2012/02/24/dns-in-ubuntu-12-04/" title="DNS in Ubuntu 12.04 blog post">DNS changes in Ubuntu 12.04</a>, most development machines running with libvirt and lxc end up running quite a few DNS servers.</p>
<p>These DNS servers work fine when queried from a system on their network, but aren&#8217;t integrated with the main dnsmasq instance and so won&#8217;t let you resolve your VM and containers from outside of their respective networks.</p>
<p>One way to solve that is to install yet another DNS resolver and use it to redirect between the various dnsmasq instances. That can quickly become tricky to setup and doesn&#8217;t integrate too well with resolvconf and NetworkManager.</p>
<p>Seeing a lot of people wondering how to solve that problem, I took a few minutes yesterday to come up with an ssh configuration that&#8217;d allow one to access their containers and VM using their name.</p>
<p>The result is the following, to add to your ~/.ssh/config file:</p>
<pre>
Host *.lxc
  StrictHostKeyChecking no
  UserKnownHostsFile /dev/null
  ProxyCommand nc $(host $(echo %h | sed "s/&#92;.lxc//g") 10.0.3.1 | tail -1 | awk '{print $NF}') %p

Host *.libvirt
  StrictHostKeyChecking no
  UserKnownHostsFile /dev/null
  ProxyCommand nc $(host $(echo %h | sed "s/&#92;.libvirt//g") 192.168.122.1 | tail -1 | awk '{print $NF}') %p
</pre>
<p>After that, things like:</p>
<ul>
<li>ssh user@myvm.libvirtu</li>
<li>ssh ubuntu@mycontainer.lxc</li>
</ul>
<p>Will just work.</p>
<p>For LXC, you may also want to add a &#8220;User ubuntu&#8221; line to that config as it&#8217;s the default user for LXC containers on Ubuntu.<br />
If you configured your bridges with a non-default subnet, you&#8217;ll also need to update the IPs or add more sections to the config.</p>
<p>These also turn off StrictHostKeyChecking and UserKnownHostsFile as my VMs and containers are local to my machine (reducing risk of MITM attacks) and tend to exist only for a few hours, to then be replaced by a completely different one with a different SSH host key. Depending on your setup, you may want to remove these lines.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stgraber.org/2012/07/17/easily-ssh-to-your-containers-and-vms-on-ubuntu-12-04-lts/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>LXC in Ubuntu 12.04 LTS</title>
		<link>http://www.stgraber.org/2012/05/04/lxc-in-ubuntu-12-04-lts/</link>
		<comments>http://www.stgraber.org/2012/05/04/lxc-in-ubuntu-12-04-lts/#comments</comments>
		<pubDate>Fri, 04 May 2012 23:48:16 +0000</pubDate>
		<dc:creator>Stéphane Graber</dc:creator>
				<category><![CDATA[Canonical voices]]></category>
		<category><![CDATA[Conferences]]></category>
		<category><![CDATA[LXC]]></category>
		<category><![CDATA[Planet Ubuntu]]></category>

		<guid isPermaLink="false">http://www.stgraber.org/?p=384</guid>
		<description><![CDATA[Quite a few people have been asking for a status update of LXC in Ubuntu as of Ubuntu 12.04 LTS. This post is meant as an overview of the work we did over the past 6 months and pointers to &#8230; <a class="more-link" href="http://www.stgraber.org/2012/05/04/lxc-in-ubuntu-12-04-lts/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Quite a few people have been asking for a status update of LXC in Ubuntu as of Ubuntu 12.04 LTS. This post is meant as an overview of the work we did over the past 6 months and pointers to more detailed blog posts for some of the new features.</p>
<h1>What&#8217;s LXC?</h1>
<p>LXC is a userspace tool controlling the kernel namespaces and cgroup features to create system or application containers.</p>
<p>To give you an idea:</p>
<ul>
<li>Feels like somewhere between a chroot and a VM</li>
<li>Can run a full distro using the “host” kernel</li>
<li>Processes running in a container are visible from the outside</li>
<li>Doesn&#8217;t require any specific hardware, works on all supported architectures</li>
</ul>
<p>A libvirt driver for LXC exists (libvirt-lxc), however it doesn&#8217;t use the “lxc” userspace tool even though it uses the same kernel features.</p>
<h1>Making LXC easier</h1>
<p>One of the main focus for 12.04 LTS was to make LXC dead easy to use, to achieve this, we&#8217;ve been working on a few different fronts fixing known bugs and improving LXC&#8217;s default configuration.</p>
<p>Creating a basic container and starting it on Ubuntu 12.04 LTS is now down to:</p>
<pre>sudo apt-get install lxc
sudo lxc-create -t ubuntu -n my-container
sudo lxc-start -n my-container</pre>
<p>This will default to using the same version and architecture as your machine, additional option are obviously available (&#8211;help will list them). Login/Password are ubuntu/ubuntu.</p>
<p>Another thing we worked on to make LXC easier to work with is reducing the number of hacks required to turn a regular system into a container down to zero.<br />
Starting with 12.04, we don&#8217;t do any modification to a standard Ubuntu system to get it running in a container.<br />
It&#8217;s now even possible to take a <a title="Running VM image as the root of a container" href="http://www.stgraber.org/2012/03/04/booting-an-ubuntu-12-04-virtual-machine-in-an-lxc-container/" target="_blank">raw VM image and have it boot in a container!</a></p>
<p>The ubuntu-cloud template also lets you get one of our EC2/cloud images and have it start as a container instead of a cloud instance:</p>
<pre>sudo apt-get install lxc cloud-utils
sudo lxc-create -t ubuntu-cloud -n my-cloud-container
sudo lxc-start -n my-cloud-container</pre>
<p>And finally, if you want to test the new cool stuff, you can also use <a title="Juju's website" href="https://juju.ubuntu.com/" target="_blank">juju</a> with LXC:</p>
<pre>[ ! -f ~/.ssh/id_rsa.pub ] &amp;&amp; ssh-keygen -t rsa
sudo apt-get install juju apt-cacher-ng zookeeper lxc libvirt-bin --no-install-recommends
sudo adduser $USER libvirtd
juju bootstrap
sed -i "s/ec2/local/" ~/.juju/environments.yaml
echo " data-dir: /tmp/juju" &gt;&gt; ~/.juju/environments.yaml
juju bootstrap
juju deploy mysql
juju deploy wordpress
juju add-relation wordpress mysql
juju expose wordpress

# To tail the logs
juju debug-log

# To get the IPs and status
juju status</pre>
<h1>Making LXC safer</h1>
<p>Another main focus for LXC in Ubuntu 12.04 was to make it safe. John Johansen did an amazing work of extending apparmor to let us implement per-container apparmor profiles and prevent most known dangerous behaviours from happening in a container.</p>
<p>NOTE: Until we have user namespaces implemented in the kernel and used by the LXC we will NOT say that LXC is root safe, however the default apparmor profile as shipped in Ubuntu 12.04 LTS is blocking any armful action that we are aware of.</p>
<p>This mostly means that write access to /proc and /sys are heavily restricted, mounting filesystems is also restricted, only allowing known-safe filesystems to be mounted by default. Capabilities are also restricted in the default LXC profile to prevent a container from loading kernel modules or control apparmor.</p>
<p>More details on this are available here:</p>
<ul>
<li><a title="Serge's post on LXC in precise and beyond" href="http://s3hh.wordpress.com/2012/05/03/lxc-in-precise-and-beyond/" target="_blank">Serge&#8217;s blog post on LXC in 12.04 and apparmor</a></li>
<li><a title="LXC Security wiki page" href="https://wiki.ubuntu.com/LxcSecurity" target="_blank">Wiki page on security and LXC</a></li>
</ul>
<h1>Other cool new stuff</h1>
<h2>Emulated architecture containers</h2>
<p>It&#8217;s now possible to <a title="Blog post on running container of foreign architectures" href="http://www.stgraber.org/2012/02/03/ever-wanted-an-armel-or-armhf-container-on-an-x86-machine-its-now-possible-with-lxc-in-ubuntu-precise/" target="_blank">use qemu-user-static with LXC to run containers of non-native architectures</a>, for example:</p>
<pre>sudo apt-get install lxc qemu-user-static
sudo lxc-create -n my-armhf-container -t ubuntu -- -a armhf
sudo lxc-start -n my-armhf-container</pre>
<h2>Ephemeral containers</h2>
<p>Quite a bit of work also went into lxc-start-ephemeral, the tool letting you start a copy of an existing container using an overlay filesystem, discarding any change you make on shutdown:</p>
<pre>
sudo apt-get install lxc
sudo lxc-create -n my-container -t ubuntu
sudo lxc-start-ephemeral -o my-container</pre>
<h2>Container nesting</h2>
<p>You can now start a container inside a container!<br />
For that to work, you first need to create a new apparmor profile as the default one doesn&#8217;t allow this for security reason.<br />
I already did that for you, so the few commands below will download it and install it in /etc/apparmor.d/lxc/lxc-with-nesting. This profile (or something close to it) will ship in Ubuntu 12.10 as an example of alternate apparmor profile for container.</p>
<pre>sudo apt-get install lxc
sudo lxc-create -t ubuntu -n my-host-container -t ubuntu
sudo wget https://www.stgraber.org/download/lxc-with-nesting -O /etc/apparmor.d/lxc/lxc-with-nesting
sudo /etc/init.d/apparmor reload
sudo sed -i "s/#lxc.aa_profile = unconfined/lxc.aa_profile = lxc-container-with-nesting/" /var/lib/lxc/my-host-container/config
sudo lxc-start -n my-host-container
(in my-host-container) sudo apt-get install lxc
(in my-host-container) sudo stop lxc
(in my-host-container) sudo sed -i "s/10.0.3/10.0.4/g" /etc/default/lxc
(in my-host-container) sudo start lxc
(in my-host-container) sudo lxc-create -n my-sub-container -t ubuntu
(in my-host-container) sudo lxc-start -n my-sub-container</pre>
<h1>Documentation</h1>
<p>Outside of the existing manpages and blog posts I mentioned throughout this post, Serge Hallyn did a very good job at creating a whole section dedicated to LXC in the Ubuntu Server Guide.<br />
You can read it here: <a title="Ubuntu Server Guide for 12.04, LXC section" href="https://help.ubuntu.com/12.04/serverguide/lxc.html" target="_blank">https://help.ubuntu.com/12.04/serverguide/lxc.html</a></p>
<h1>Next steps</h1>
<p>Next week we have the <a title="Ubuntu Developer Summit" href="http://uds.ubuntu.com" target="_blank">Ubuntu Developer Summit</a> in Oakland, CA. There we&#8217;ll be working on the plans for LXC in Ubuntu 12.10. We currently have two sessions scheduled:</p>
<ul>
<li><a title="LXC containers introduction, demo and q&amp;a session" href="https://blueprints.launchpad.net/ubuntu/+spec/foundations-q-containers-demo" target="_blank">LXC containers introduction, demo and Q&amp;A</a></li>
<li><a title="LXC work for Q" href="https://blueprints.launchpad.net/ubuntu/+spec/servercloud-q-lxc" target="_blank">LXC work for Q</a></li>
</ul>
<p>If you want to make sure the changes you want will be in Ubuntu 12.10, please make sure to join these two sessions. It&#8217;s possible to participate remotely to the Ubuntu Developer Summit, through IRC and audio streaming.</p>
<p>My personal hope for LXC in Ubuntu 12.10 is to have a clean liblxc library that can be used to create bindings and be used in languages like python. Working towards that goal should make it easier to do automated testing of LXC and cleanup our current tools.</p>
<p>I hope this post made you want to try LXC or for existing users, made you discover some of the new features that appeared in Ubuntu 12.04. We&#8217;re actively working on improving LXC both upstream and in Ubuntu, so do not hesitate to <a title="File a bug against LXC on Launchpad" href="https://launchpad.net/ubuntu/+source/lxc/+filebug" target="_blank">report bugs</a> (preferably with &#8220;ubuntu-bug lxc&#8221;).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stgraber.org/2012/05/04/lxc-in-ubuntu-12-04-lts/feed/</wfw:commentRss>
		<slash:comments>47</slash:comments>
		</item>
		<item>
		<title>Booting an Ubuntu 12.04 virtual machine in an LXC container</title>
		<link>http://www.stgraber.org/2012/03/04/booting-an-ubuntu-12-04-virtual-machine-in-an-lxc-container/</link>
		<comments>http://www.stgraber.org/2012/03/04/booting-an-ubuntu-12-04-virtual-machine-in-an-lxc-container/#comments</comments>
		<pubDate>Sun, 04 Mar 2012 21:34:43 +0000</pubDate>
		<dc:creator>Stéphane Graber</dc:creator>
				<category><![CDATA[Canonical voices]]></category>
		<category><![CDATA[LXC]]></category>
		<category><![CDATA[Planet Ubuntu]]></category>

		<guid isPermaLink="false">http://www.stgraber.org/?p=380</guid>
		<description><![CDATA[One thing that we&#8217;ve been working on for LXC in 12.04 is getting rid of any remaining LXC specific hack in our templates. This means that you can now run a perfectly clean Ubuntu system in a container without any &#8230; <a class="more-link" href="http://www.stgraber.org/2012/03/04/booting-an-ubuntu-12-04-virtual-machine-in-an-lxc-container/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>One thing that we&#8217;ve been working on for LXC in 12.04 is getting rid of any remaining LXC specific hack in our templates. This means that you can now run a perfectly clean Ubuntu system in a container without any change.</p>
<p>To better illustrate that, here&#8217;s a guide on how to boot a standard Ubuntu VM in a container.</p>
<p>First, you&#8217;ll need an Ubuntu VM image in raw disk format. The next few steps also assume a default partitioning where the first primary partition is the root device. Make sure you have the <strong>lxc</strong> package installed and up to date and lxcbr0 enabled (the default with recent LXC).</p>
<p>Then run <strong>kpartx -a vm.img</strong> this will create loop devices in /dev/mapper for your VM partitions, in the following configuration I&#8217;m assuming /dev/mapper/loop0p1 is the root partition.</p>
<p>Now write a new LXC configuration file (<strong>myvm.conf</strong> in my case) containing:</p>
<pre>lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = <strong>lxcbr0</strong>
lxc.utsname = <strong>myvminlxc</strong>

lxc.tty = 4
lxc.pts = 1024
lxc.rootfs = <strong>/dev/mapper/loop0p1</strong>
lxc.arch = <strong>amd64</strong>
lxc.cap.drop = sys_module mac_admin

lxc.cgroup.devices.deny = a
# Allow any mknod (but not using the node)
lxc.cgroup.devices.allow = c *:* m
lxc.cgroup.devices.allow = b *:* m
# /dev/null and zero
lxc.cgroup.devices.allow = c 1:3 rwm
lxc.cgroup.devices.allow = c 1:5 rwm
# consoles
lxc.cgroup.devices.allow = c 5:1 rwm
lxc.cgroup.devices.allow = c 5:0 rwm
#lxc.cgroup.devices.allow = c 4:0 rwm
#lxc.cgroup.devices.allow = c 4:1 rwm
# /dev/{,u}random
lxc.cgroup.devices.allow = c 1:9 rwm
lxc.cgroup.devices.allow = c 1:8 rwm
lxc.cgroup.devices.allow = c 136:* rwm
lxc.cgroup.devices.allow = c 5:2 rwm
# rtc
lxc.cgroup.devices.allow = c 254:0 rwm
#fuse
lxc.cgroup.devices.allow = c 10:229 rwm
#tun
lxc.cgroup.devices.allow = c 10:200 rwm
#full
lxc.cgroup.devices.allow = c 1:7 rwm
#hpet
lxc.cgroup.devices.allow = c 10:228 rwm
#kvm
lxc.cgroup.devices.allow = c 10:232 rwm</pre>
<p>The bits in bold may need updating if you&#8217;re not using the same architecture, partition scheme or bridges as I&#8217;m.</p>
<p>Then finally, run: <strong>lxc-start -n myvminlxc -f myvm.conf</strong></p>
<p><strong></strong>And watch your VM boot in an LXC container.</p>
<p>I did this test with a desktop VM using network manager so it didn&#8217;t mind LXC&#8217;s random MAC address, server VMs might get stuck for a minute at boot time because of that though.<br />
In such case, either clean <strong>/etc/udev/rules.d/70-persistent-net.rules</strong> or set &#8220;<strong>lxc.network.hwaddr</strong>&#8221; to the same mac address as your VM.</p>
<p>Once done, run <strong>kpartx -d vm.img</strong> to remove the loop devices.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stgraber.org/2012/03/04/booting-an-ubuntu-12-04-virtual-machine-in-an-lxc-container/feed/</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
		<item>
		<title>DNS in Ubuntu 12.04</title>
		<link>http://www.stgraber.org/2012/02/24/dns-in-ubuntu-12-04/</link>
		<comments>http://www.stgraber.org/2012/02/24/dns-in-ubuntu-12-04/#comments</comments>
		<pubDate>Fri, 24 Feb 2012 20:55:59 +0000</pubDate>
		<dc:creator>Stéphane Graber</dc:creator>
				<category><![CDATA[Canonical voices]]></category>
		<category><![CDATA[Planet Ubuntu]]></category>

		<guid isPermaLink="false">http://www.stgraber.org/?p=366</guid>
		<description><![CDATA[Anyone who&#8217;s been using 12.04 over the past month or so may have noticed some pretty significant changes in the way we do DNS resolving in Ubuntu. This is the result of the implementation of: foundations-p-dns-resolving Here is a description &#8230; <a class="more-link" href="http://www.stgraber.org/2012/02/24/dns-in-ubuntu-12-04/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Anyone who&#8217;s been using 12.04 over the past month or so may have noticed some pretty significant changes in the way we do DNS resolving in Ubuntu.</p>
<p>This is the result of the implementation of: <a title="Foundations DNS resolving blueprint on Launchpad" href="https://blueprints.launchpad.net/ubuntu/+spec/foundations-p-dns-resolving" target="_blank">foundations-p-dns-resolving</a></p>
<p>Here is a description of the two big changes that happened:</p>
<h2>Switch to resolvconf for /etc/resolv.conf management</h2>
<p>resolvconf is a set of script and hooks managing DNS resolution. The most notable difference for the user is that <strong>any change manually done to /etc/resolv.conf will be lost</strong> as it gets overwritten next time something triggers resolvconf. Instead, resolvconf uses DHCP client hooks, a Network Manager plugin and /etc/network/interfaces to generate a list of nameservers and domain to put in /etc/resolv.conf.</p>
<p>For more details, I&#8217;d highly encourage you to read resolvconf&#8217;s manpage but here are a few answers to common questions:</p>
<ul>
<li>I use static IP configuration, where should I put my DNS configuration?<br />
<strong>The DNS configuration for a static interface should go as &#8220;dns-nameservers&#8221;, &#8220;dns-search&#8221; and &#8220;dns-domain&#8221; entries added to the interface in /etc/network/interfaces</strong></li>
<li>How can I override resolvconf&#8217;s configuration or append some entries to it?<br />
<strong>Resolvconf has a</strong> <strong>/etc/resolvconf/resolv.conf.d/ directory that can contain &#8220;base&#8221;, &#8220;head&#8221;, &#8220;original&#8221; and &#8220;tail&#8221; files. All in resolv.conf format.<br />
</strong></li>
<ul>
<li><strong>base:</strong> Used when no other data can be found</li>
<li><strong>head: </strong>Used for the header of resolv.conf, can be used to ensure a DNS server is always the first one in the list</li>
<li><strong>original: </strong>Just a backup of your resolv.conf at the time of resolvconf installation</li>
<li><strong>tail: </strong>Any entry in tail is appended at the end of the resulting resolv.conf. In some cases, upgrading from a previous Ubuntu release, will make <strong>tail</strong> a symlink to <strong>original</strong> (when we think you manually modified resolv.conf in the past)</li>
</ul>
<li>I really don&#8217;t want resolvconf, how can I disable it?<br />
<strong>I certainly wouldn&#8217;t recommend disabling resolvconf but you can do it by making /etc/resolv.conf a regular file instead of a symlink.<br />
Though please note that you may then be getting inconsistent /etc/resolv.conf when multiple software are fighting to change it.<br />
</strong></li>
</ul>
<p>This change affects all Ubuntu installs except for Ubuntu core.</p>
<h2>Using dnsmasq as local resolver by default on desktop installations</h2>
<p>That&#8217;s the second big change of this release. On a desktop install, your DNS server is going to be &#8220;127.0.0.1&#8243; which points to a NetworkManager-managed dnsmasq server.</p>
<p>This was done to better support split DNS for VPN users and to better handle DNS failures and fallbacks. This dnsmasq server isn&#8217;t a caching server for security reason to avoid risks related to local cache poisoning and users eavesdropping on other&#8217;s DNS queries on a multi-user system.</p>
<p>The big advantage is that if you connect to a VPN, instead of having all your DNS traffic be routed through the VPN like in the past, you&#8217;ll instead only send DNS queries related to the subnet and domains announced by that VPN. This is especially interesting for high latency VPN links where everything would be slowed down in the past.</p>
<p>As for dealing with DNS failures, dnsmasq often sends the DNS queries to more than one DNS servers (if you received multiple when establishing your connection) and will detect bogus/dead ones and simply ignore them until they start returning sensible information again. This is to compare against the libc&#8217;s way of doing DNS resolving where the state of the DNS servers can&#8217;t be saved (as it&#8217;s just a library) and so every single application has to go through the same, trying the first DNS, waiting for it to timeout, using the next one.</p>
<p>Now for the most common questions:</p>
<ul>
<li>How to know what DNS servers I&#8217;m using (since I can&#8217;t just &#8220;cat /etc/resolv.conf&#8221;)?<br />
<strong>&#8220;nm-tool&#8221; can be used to get information about your existing connections in Network Manager. It&#8217;s roughly the same data you&#8217;d get in the GUI &#8220;connection information&#8221;.<br />
Alternatively, you can also read dnsmasq&#8217;s configuration from /run/nm-dns-dnsmasq.conf</strong></li>
<li>I really don&#8217;t want a local resolver, how can I turn it off?<br />
<strong>To turn off dnsmasq in Network Manager, you need to edit /etc/NetworkManager/NetworkManager.conf and comment the &#8220;dns=dnsmasq&#8221; line (put a # in front of it) then do a &#8220;sudo restart network-manager&#8221;.</strong></li>
</ul>
<h2>Bugs and feedback</h2>
<p>Although we&#8217;ve been doing these changes more than a month ago and we&#8217;ve been looking pretty closely at bug reports, there may be some we haven&#8217;t found yet.</p>
<p>Issues related to resolvconf should be reported with:<br />
<strong>ubuntu-bug resolvconf</strong></p>
<p>Issues related to the dnsmasq configuration should be reported with:<br />
<strong>ubuntu-bug network-manager</strong></p>
<p>And finally, actual dnsmasq bugs and crashed should be reported with:<br />
<strong>ubuntu-bug dnsmasq</strong></p>
<p>In all cases, please try to include the following information:</p>
<ul>
<li>How was your system installed (desktop, alternate, netinstall, &#8230;)?</li>
<li>Whether it&#8217;s a clean install or an upgrade?</li>
<li>Tarball of /etc/resolvconf and /run/resolvconf</li>
<li>Content of /run/nm-dns-dnsmasq.conf</li>
<li>Your /var/log/syslog</li>
<li>Your /etc/network/interfaces</li>
<li>And obviously a detailed description of your problem</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.stgraber.org/2012/02/24/dns-in-ubuntu-12-04/feed/</wfw:commentRss>
		<slash:comments>216</slash:comments>
		</item>
		<item>
		<title>Upcoming pastebinit 1.3 release</title>
		<link>http://www.stgraber.org/2012/02/12/upcoming-pastebinit-1-3-release/</link>
		<comments>http://www.stgraber.org/2012/02/12/upcoming-pastebinit-1-3-release/#comments</comments>
		<pubDate>Mon, 13 Feb 2012 00:52:26 +0000</pubDate>
		<dc:creator>Stéphane Graber</dc:creator>
				<category><![CDATA[Canonical voices]]></category>
		<category><![CDATA[Planet Ubuntu]]></category>
		<category><![CDATA[pastebinit]]></category>

		<guid isPermaLink="false">http://www.stgraber.org/?p=360</guid>
		<description><![CDATA[Every year, I try to set a few hours aside to work on one of my upstream projects, pastebinit. This is one of these projects which mostly &#8220;just works&#8221; with quite a lot of users and quite a few of &#8230; <a class="more-link" href="http://www.stgraber.org/2012/02/12/upcoming-pastebinit-1-3-release/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Every year, I try to set a few hours aside to work on one of my upstream projects, pastebinit.</p>
<p>This is one of these projects which mostly &#8220;just works&#8221; with quite a lot of users and quite a few of them sending merge proposals and fixes in bug reports.</p>
<p>I&#8217;m planning on uploading pastebinit 1.3 right before Feature Freeze, either on Wednesday or early Thursday, delaying the release as much as possible to get a few last translations in.</p>
<p>If you speak any language other than English, please go to:<br />
<a title="Pastebinit" href="https://translations.launchpad.net/pastebinit">https://translations.launchpad.net/pastebinit</a></p>
<p>Any help getting this as well translated as possible would be appreciated, for Ubuntu users, you&#8217;ll have to deal with it for the next 5 years, so it&#8217;s kind of important <img src='http://www.stgraber.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Now the changes, they&#8217;re pretty minimal but still will make some people happy I&#8217;m sure:</p>
<ul>
<li>Finally merged pbget/pbput/pbputs from Dustin Kirkland, these 3 tools let you securely push and retrieve files using a pastebin. It&#8217;s using a mix of base64, tar and gpg as well as some wget and parsing to retrieve the data.<br />
These are nice scripts to use with pastebinit, though please don&#8217;t send huge files to the pastebins, they really aren&#8217;t meant for that <img src='http://www.stgraber.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </li>
<li>Removed stikked.com from the supported pastebins as it&#8217;s apparently dead.</li>
<li>Now the new pastebins:</li>
<ul>
<li><a title="Drizzle pastebin" href="http://paste.drizzle.org" target="_blank">http://paste.drizzle.org</a> thanks to Monty Taylor</li>
<li><a title="OpenStack pastebin" href="http://paste.openstack.org" target="_blank">http://paste.openstack.org</a> thanks to Soren Hansen</li>
<li><a title="Pocoo pastebin" href="http://paste.pocoo.org" target="_blank">http://paste.pocoo.org</a> thanks to Stefano Rivera</li>
<li><a title="#python pastebin" href="http://paste.pound-python.org" target="_blank">http://paste.pound-python.org</a> thanks to well &#8230; me</li>
</ul>
<li>paste.debian.net should now work fine with the &#8216;-f&#8217; (format) option, thanks for their work on making their form pastebinit-friendly.</li>
<li>pastebinit should now load pastebin definition files properly from multiple locations.<br />
Starting with /usr/share/pastebin.d, then going through /etc/pastebin.d, /usr/local/etc/pastebin.d, ~/.pastebin.d and finally &lt;wherever pastebinit is&gt;/.pastebin.d</li>
<li>A few other minor improvements and fixes merged by Rolf Leggewie over the last year or so, thanks again for taking care of these!</li>
</ul>
<p>Testing of the current trunk before release would also be greatly appreciate, you can get the code with: bzr branch <a title="Pastebinit on Launchpad" href="https://code.launchpad.net/~pastebinit-developers/pastebinit/trunk" target="_blank">lp:pastebinit</a></p>
<p>Bug reports are welcome at: <a title="Pastebinit bugs on Launchpad" href="https://launchpad.net/pastebinit/+filebug" target="_blank">https://launchpad.net/pastebinit/+filebug</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.stgraber.org/2012/02/12/upcoming-pastebinit-1-3-release/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Ever wanted an armhf container on your x86 machine? It&#8217;s now possible with LXC in Ubuntu Precise</title>
		<link>http://www.stgraber.org/2012/02/03/ever-wanted-an-armel-or-armhf-container-on-an-x86-machine-its-now-possible-with-lxc-in-ubuntu-precise/</link>
		<comments>http://www.stgraber.org/2012/02/03/ever-wanted-an-armel-or-armhf-container-on-an-x86-machine-its-now-possible-with-lxc-in-ubuntu-precise/#comments</comments>
		<pubDate>Fri, 03 Feb 2012 18:26:30 +0000</pubDate>
		<dc:creator>Stéphane Graber</dc:creator>
				<category><![CDATA[Canonical voices]]></category>
		<category><![CDATA[LXC]]></category>
		<category><![CDATA[Planet Ubuntu]]></category>

		<guid isPermaLink="false">http://www.stgraber.org/?p=342</guid>
		<description><![CDATA[It took a while to get some apt resolver bugs fixed, a few packages marked for multi-arch and some changes in the Ubuntu LXC template, but since yesterday, you can now run (using up to date Precise): sudo apt-get install &#8230; <a class="more-link" href="http://www.stgraber.org/2012/02/03/ever-wanted-an-armel-or-armhf-container-on-an-x86-machine-its-now-possible-with-lxc-in-ubuntu-precise/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>It took a while to get some apt resolver bugs fixed, a few packages marked for multi-arch and some changes in the Ubuntu LXC template, but since yesterday, you can now run (using up to date Precise):</p>
<ul>
<li>sudo apt-get install lxc qemu-user-static</li>
<li>sudo lxc-create -n armhf01 -t ubuntu &#8212; -a armhf -r precise</li>
<li>sudo lxc-start -n armhf01</li>
<li>Then login with root as both login and password</li>
</ul>
<p>And enjoy an armhf system running on your good old x86 machine.</p>
<p>Now, obviously it&#8217;s pretty far from what you&#8217;d get on real ARM hardware.<br />
It&#8217;s using qemu&#8217;s user space CPU emulation (qemu-user-static), so won&#8217;t be particularly fast, will likely use a lot of CPU and may give results pretty different from what you&#8217;d expect on real hardware.</p>
<p>Also, because of limitations in qemu-user-static, a few packages from the &#8220;host&#8221; architecture are installed in the container. These are mostly anything that requires the use of ptrace (upstart) or the use of netlink (mountall, iproute and isc-dhcp-client).<br />
This is the bare minimum I needed to install to get the rest of the container to work using armhf binaries. I obviously didn&#8217;t test everything and I&#8217;m sure quite a few other packages will fail in such environment.</p>
<p>This feature should be used as an improvement on top of a regular armhf chroot using qemu-user-static and not as a replacement for actual ARM hardware (obviously), but it&#8217;s cool to have around and nice to show what LXC can do.</p>
<p>I confirmed it to work for armhf and armel, powerpc should also work, though it didn&#8217;t succeed to debootstrap when I tried it earlier today.</p>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stgraber.org/2012/02/03/ever-wanted-an-armel-or-armhf-container-on-an-x86-machine-its-now-possible-with-lxc-in-ubuntu-precise/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
