<?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/"
	xmlns:series="http://unfoldingneurons.com/"
	>

<channel>
	<title>Shane Sveller &#187; ubuntu</title>
	<atom:link href="http://shanesveller.com/tag/ubuntu/feed/" rel="self" type="application/rss+xml" />
	<link>http://shanesveller.com</link>
	<description>Somewhere between happy and total f**king wreck</description>
	<lastBuildDate>Thu, 07 Jan 2010 18:31:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=abc</generator>
		<item>
		<title>Another successful Passenger deployment</title>
		<link>http://shanesveller.com/2008/06/25/another-successful-passenger-deployment/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=another-successful-passenger-deployment</link>
		<comments>http://shanesveller.com/2008/06/25/another-successful-passenger-deployment/#comments</comments>
		<pubDate>Wed, 25 Jun 2008 18:16:38 +0000</pubDate>
		<dc:creator>Shane</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[deployment]]></category>
		<category><![CDATA[linode]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://shanesveller.com/?p=56</guid>
		<description><![CDATA[This morning, as a result of a hardware failure on my home server, I decided to move my Redmine devtracker to my Linode host.I used: Ubuntu Server 8.04 AMD64 Apache2-prefork 2.2.8 Passenger 2.0.1 Ruby Enterprise Edition 1.8.6-20080624 Redmine 0.7 stable (SVN r1547) My apache vhost is as follows: &#60;VirtualHost *:80&#62; ServerName dev.shanesveller.com DocumentRoot /var/rails/redmine-0.7/public &#60;Directory]]></description>
			<content:encoded><![CDATA[<p>This morning, as a result of a hardware failure on my home server, I decided to move my <a href="http://www.redmine.org">Redmine</a> devtracker to my Linode host.<span id="more-30"></span>I used:</p>
<ul>
<li><a href="http://www.ubuntu.com">Ubuntu</a> Server 8.04 AMD64</li>
<li>Apache2-prefork 2.2.8</li>
<li><a href="http://www.modrails.com">Passenger</a> 2.0.1</li>
<li><a href="http://www.rubyenterpriseedition.com">Ruby Enterprise Edition</a> 1.8.6-20080624</li>
<li><a href="http://www.redmine.org">Redmine</a> 0.7 stable (SVN r1547)</li>
</ul>
<p>My apache vhost is as follows:</p>
<pre>&lt;VirtualHost *:80&gt;
  ServerName dev.shanesveller.com

  DocumentRoot /var/rails/redmine-0.7/public

&lt;Directory "/var/rails/redmine-0.7/public"&gt;
   Options FollowSymLinks
   AllowOverride None
   Order allow,deny
   Allow from all
&lt;/Directory&gt;

  # Custom log file locations
  # ErrorLog  /var/rails/redmine/log/error.log
  # CustomLog /var/rails/redmine/log/access.log combined

&lt;/VirtualHost&gt;</pre>
<div>The passage in the middle is there because my CSS styles and images were missing. This is explained in the <a href="http://modrails.com/documentation/Users%20guide.html#_static_assets_such_as_images_and_stylesheets_aren_t_being_displayed">User&#8217;s Guide</a>.</div>
<p>This allows me to serve my WordPress blog and my Redmine tracker and use about 260MB of RAM. If you take off the buffers and cache memory, it&#8217;s actually more like 110MB.</p>
<p>To enable Passenger and RubyEE in Apache, I used the following file in <code>/etc/apache2/conf.d/passenger</code>:</p>
<pre>   LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.0.1/ext/apache2/mod_passenger.so
   PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.0.1
   RailsRuby /opt/ruby-enterprise/bin/ruby</pre>
<p>The relevant Ubuntu packages are:</p>
<pre>apache2 apache2-prefork-dev apache2-mpm-prefork build-essential ruby1.8-dev ruby ri rake irb rdoc libmysqlclient15-dev libopenssl-ruby</pre>
]]></content:encoded>
			<wfw:commentRss>http://shanesveller.com/2008/06/25/another-successful-passenger-deployment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Live backups using LVM and dump</title>
		<link>http://shanesveller.com/2008/05/27/live-backups-using-lvm-and-dump/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=live-backups-using-lvm-and-dump</link>
		<comments>http://shanesveller.com/2008/05/27/live-backups-using-lvm-and-dump/#comments</comments>
		<pubDate>Tue, 27 May 2008 19:15:09 +0000</pubDate>
		<dc:creator>Shane</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[lvm]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://shanesveller.com/?p=42</guid>
		<description><![CDATA[If, like me, you&#8217;ve built your Ubuntu machine using LVM for all partitions except /boot, you can do a live backup of your system using LVM snapshots and the dump tool. # lvdisplay --- Logical volume --- LV Name /dev/odin/root_1 VG Name odin ... LV Size 30.00 GB ... Since my root partition is on]]></description>
			<content:encoded><![CDATA[<p>If, like me, you&#8217;ve built your Ubuntu machine using LVM for all partitions except <code>/boot</code>, you can do a live backup of your system using LVM snapshots and the <a href="http://surf.ap.seikei.ac.jp/~nakano/dump-restore/dump-restore-mini-HOWTO.en.html">dump tool</a>.<span id="more-27"></span></p>
<pre># lvdisplay
  --- Logical volume ---
  LV Name                /dev/odin/root_1
  VG Name                odin
  ...
  LV Size                30.00 GB
  ...</pre>
<p>Since my root partition is on LVM, I can do a snapshot to get a point-in-time view of the root partition even as the system is running and software is making changes to the filesystem. To create the snapshot:</p>
<pre>lvcreate -L 30G -s -n root_1_snap /dev/odin/root_1</pre>
<p>The arguments are: <code>lvcreate -L {size} -n {snapshot name} {lvm device path}</code></p>
<p>Then, you do a <code>dump</code> backup:</p>
<pre># dump 0uf odin.0.img /dev/mapper/odin-root_1_snap
  DUMP: Date of this level 0 dump: Mon Apr 28 10:52:39 2008
  DUMP: Dumping /dev/mapper/odin-root_1_snap (an unlisted file system) to odin.0.img
  DUMP: Label: none
  DUMP: Writing 10 Kilobyte records
  DUMP: mapping (Pass I) [regular files]
  DUMP: mapping (Pass II) [directories]
  DUMP: estimated 3130770 blocks.
  DUMP: Volume 1 started with block 1 at: Mon Apr 28 10:52:46 2008
  DUMP: dumping (Pass III) [directories]
  DUMP: dumping (Pass IV) [regular files]
  DUMP: Closing odin.0.img
  DUMP: Volume 1 completed at: Mon Apr 28 10:55:49 2008
  DUMP: Volume 1 3120540 blocks (3047.40MB)
  DUMP: Volume 1 took 0:03:03
  DUMP: Volume 1 transfer rate: 17052 kB/s
  DUMP: 3120540 blocks (3047.40MB) on 1 volume(s)
  DUMP: finished in 182 seconds, throughput 17145 kBytes/sec
  DUMP: Date of this level 0 dump: Mon Apr 28 10:52:39 2008
  DUMP: Date this dump completed:  Mon Apr 28 10:55:49 2008
  DUMP: Average transfer rate: 17052 kB/s
  DUMP: DUMP IS DONE</pre>
<p>The arguments are: <code>dump {level}uf {output file} {source device path}</code></p>
<p>Next, remove the snapshot to keep from hogging LVM space:</p>
<pre>  lvremove /dev/odin/root_1_snap
Do you really want to remove active logical volume "root_1_snap"? [y/n]: y
  Logical volume "root_1_snap" successfully removed</pre>
<p>Optionally, compress the backup image for safekeeping.</p>
<pre>gzip /backup/odin.0.img &amp;</pre>
<p>The ampersand (&amp;) will make the process run in the background. By doing this, I saved 71.2% of the size, down to an image that was 878MB from 3050MB!</p>
<p>To restore from said backup, assuming you have a ready ext3 partition of the appropriate size: Uncompress it if need be:</p>
<pre>gunzip /backup/odin.0.img.gz</pre>
<p>Then:</p>
<pre>cd / &amp;&amp; rrestore rf /backup/odin.0.img</pre>
]]></content:encoded>
			<wfw:commentRss>http://shanesveller.com/2008/05/27/live-backups-using-lvm-and-dump/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick Tip: Ubuntu default runlevel</title>
		<link>http://shanesveller.com/2008/04/24/quick-tip-ubuntu-default-runlevel/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=quick-tip-ubuntu-default-runlevel</link>
		<comments>http://shanesveller.com/2008/04/24/quick-tip-ubuntu-default-runlevel/#comments</comments>
		<pubDate>Thu, 24 Apr 2008 18:39:16 +0000</pubDate>
		<dc:creator>Shane</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[runlevel]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://shanesveller.com/?p=41</guid>
		<description><![CDATA[<pre>
/etc/inittab:
id:3:initdefault
</pre>]]></description>
			<content:encoded><![CDATA[<p>If you, like me, use <code>sysv-rc-conf</code> to change the services that run a particular runlevel, i.e. so that runlevel 2 is actually only networked and not GUI as tradition holds, you can set the default runlevel to boot in Ubuntu by editing:</p>
<pre>
/etc/inittab:
id:3:initdefault
</pre>
<p>The number in the middle is the runlevel to start by default.</p>
]]></content:encoded>
			<wfw:commentRss>http://shanesveller.com/2008/04/24/quick-tip-ubuntu-default-runlevel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Personal internet acceleration, part 1</title>
		<link>http://shanesveller.com/2008/04/14/personal-internet-acceleration-part-1/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=personal-internet-acceleration-part-1</link>
		<comments>http://shanesveller.com/2008/04/14/personal-internet-acceleration-part-1/#comments</comments>
		<pubDate>Mon, 14 Apr 2008 17:57:07 +0000</pubDate>
		<dc:creator>Shane</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[OSX]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[safari]]></category>
		<category><![CDATA[squid]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://shanesveller.com/?p=38</guid>
		<description><![CDATA[My SFF server machine has been configured to speed up my digital life. Squid caching web proxy apt-cacher caching apt proxy BIND9 caching/local DNS server Installing the squid web proxy apt-get install squid squid-prefetch You will then need to configure the ACL to allow access through the proxy from the local network. nano /etc/squid/squid.conf visible_hostname]]></description>
			<content:encoded><![CDATA[<p>My SFF server machine has been configured to speed up my digital life.<span id="more-20"></span></p>
<ul>
<li>Squid caching web proxy</li>
<li>apt-cacher caching apt proxy</li>
<li>BIND9 caching/local DNS server</li>
</ul>
<h3>Installing the squid web proxy</h3>
<p><code>apt-get install squid squid-prefetch</code></p>
<p>You will then need to configure the ACL to allow access through the proxy from the local network.</p>
<p><code>nano /etc/squid/squid.conf</code></p>
<pre>
visible_hostname server1     #Line added
...
http_port 8080     #Line changed
...
cache_dir ufs /var/spool/squid 2000 16 256     #Line changed
...
acl local src 10.0.1.0/255.255.255.0     #Line added
http_access allow local     #Line added
</pre>
<p>This configures the squid cache to listen on port 8080 instead of 3128, allows access from all IPs in the range 10.0.1.1 &#8211; 10.0.1.255, and sets the cache size to 2000MB. Then you need to restart the squid service:<br />
<code>/etc/init.d/squid restart</code></p>
<p>You can then configure your end users&#8217; machines to use <code>http://server1:8080/</code> as their internet proxy. I recommend setting this for insecure (non-SSL) traffic only as I have noticed some odd behavior with SSL proxying.</p>
<p>In <a href="http://getfirefox.com">Firefox</a> this is dead-simple:</p>
<ol>
<li>Open the Preferences window from the application menu on OSX or the Options window from the Tools menu on Windows.</li>
<li>Choose the Advanced section at the top, followed by the Network tab.</li>
<li>Click the Settings button under the Connection header.</li>
<li>Choose the &#8220;Manual configuration&#8221; radio button and enter <code>http://server1:8080/</code> in the HTTP Proxy box.</li>
</ol>
<p>Safari on OSX uses the system-wide proxy settings:</p>
<ol>
<li>Choose System Preferences from the Apple menu</li>
<li>Click the Network item under the Internet &amp; Network heading</li>
<li>Select your primary connection, wireless or wired, from the left-hand list and click the Advanced button</li>
<li>Choose the Proxies tab, choose Manually in the drop-down menu, check the box next to Web Proxy</li>
<li>Enter <code>server1</code> in the first box and <code>8080</code> in the second box</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://shanesveller.com/2008/04/14/personal-internet-acceleration-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using binary NVidia 8800GT drivers on Ubuntu Gutsy</title>
		<link>http://shanesveller.com/2008/04/14/using-binary-nvidia-8800gt-drivers-on-ubuntu-gutsy/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=using-binary-nvidia-8800gt-drivers-on-ubuntu-gutsy</link>
		<comments>http://shanesveller.com/2008/04/14/using-binary-nvidia-8800gt-drivers-on-ubuntu-gutsy/#comments</comments>
		<pubDate>Mon, 14 Apr 2008 14:31:36 +0000</pubDate>
		<dc:creator>Shane</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[169.12]]></category>
		<category><![CDATA[8800gt]]></category>
		<category><![CDATA[binary]]></category>
		<category><![CDATA[driver]]></category>
		<category><![CDATA[geforce]]></category>
		<category><![CDATA[gutsy]]></category>
		<category><![CDATA[nvidia]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://shanesveller.com/?p=35</guid>
		<description><![CDATA[In order for me to use the official binary drivers, version 169.12, from NVidia with my GeForce 8800GT on Ubuntu Gutsy, I had to do some research. Alberto Milone&#8216;s envy tool makes the whole thing almost idiot-proof. Text-based install After completing a fresh install of Gutsy via alternate CD, boot into the &#8220;recovery mode&#8221; option]]></description>
			<content:encoded><![CDATA[<p>In order for me to use the official binary drivers, version 169.12, from NVidia with my GeForce 8800GT on Ubuntu Gutsy, I had to do some research. <a href="http://albertomilone.com/nvidia_scripts1.html">Alberto Milone</a>&#8216;s <a href="http://albertomilone.com/ubuntu/nvidia/scripts/legacy/envy_0.9.10-0ubuntu10_all.deb">envy tool</a> makes the whole thing almost idiot-proof.<br />
<span id="more-19"></span></p>
<h2>Text-based install</h2>
<p>After completing a fresh install of Gutsy via alternate CD, boot into the &#8220;recovery mode&#8221; option from GRUB. You will be dumped into a BASH shell.</p>
<p><code>apt-get update &amp;&amp; wget http://albertomilone.com/ubuntu/nvidia/scripts/legacy/envy_0.9.10-0ubuntu10_all.deb<br />
gdebi -n envy_0.9.10-0ubuntu10_all.deb<br />
envy -t</code></p>
<p>At this point it will probably install a few required packages via apt-get and then give you a menu. Here we want <b>option 1</b>, &#8220;Install the NVidia driver&#8221;. It theoretically will install all required development packages, download the driver from nvidia.com, and build and install it for you. It may fail saying it was missing a bunch of required packages, but if you install them by hand it will complete successfully.</p>
<p><code>apt-get install &lt;packages&gt;</code></p>
<p>GUI-based write-up to follow.</p>
]]></content:encoded>
			<wfw:commentRss>http://shanesveller.com/2008/04/14/using-binary-nvidia-8800gt-drivers-on-ubuntu-gutsy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu Gutsy AMD64, LVM, and Xen from repositories</title>
		<link>http://shanesveller.com/2008/04/10/ubuntu-gutsy-amd64-lvm-and-xen-from-repositories/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=ubuntu-gutsy-amd64-lvm-and-xen-from-repositories</link>
		<comments>http://shanesveller.com/2008/04/10/ubuntu-gutsy-amd64-lvm-and-xen-from-repositories/#comments</comments>
		<pubDate>Thu, 10 Apr 2008 16:08:57 +0000</pubDate>
		<dc:creator>Shane</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[64-bit]]></category>
		<category><![CDATA[gutsy]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[virtualization]]></category>
		<category><![CDATA[xen]]></category>

		<guid isPermaLink="false">http://shanesveller.com/?p=33</guid>
		<description><![CDATA[For a weekend project, I installed and configured Xen as a virtual machine hosting solution on Ubuntu Gutsy AMD64 using LVM for drive/partition management.]]></description>
			<content:encoded><![CDATA[<p>My desktop just grew by two 500GB Western Digital Caviar drives. Having installed those, I loaded Gutsy-AMD64 on one using LVM. The partition schema is as follows:</p>
<pre>
Drive: 500GB #1
Volume Group: server1
Volumes:
	swap_1 - 6GB - swap
	root_1 - 30GB - ext3 - mounted as /
	home_1 - 20GB - ext3 - mounted as /home/
Free space: ~398GB
</pre>
<p>500GB number two will probably wind up being a RAID mirror via my motherboard. This LVM layout allows me to dynamically allocate space for the many potential Xen DomUs I create.</p>
<p>To install Xen on Gutsy-AMD64 desktop version:<br />
<code>sudo apt-get install ubuntu-xen-desktop-amd64</code></p>
<p><span id="more-18"></span><br />
My <code>/etc/xen-tools/xen-tools.conf</code>:</p>
<pre>
lvm = server1               # LVM volume group to use
install-method = debootstrap
size   = 4Gb                # Disk image size.
memory = 256Mb              # Memory size
swap   = 512Mb              # Swap size
fs     = ext3               # use the EXT3 filesystem for the disk image.
dist   = gutsy              # Default distribution to install.
gateway = 10.0.1.1
netmask = 255.255.255.0
cache = yes                 # Cache downloaded debs
passwd = 1                  # Set up root password during creation
kernel = /boot/vmlinuz-`uname -r`
initrd = /boot/initrd.img-`uname -r`
arch = amd64                # 64-bit domU
mirror = http://us.archive.ubuntu.com/ubuntu
ext3_options = noatime,nodiratime,errors=remount-ro
serial_device = tty1
</pre>
<p>My <code>/etc/xen/xend-config.sxp</code>:</p>
<pre>
(xend-tcp-xmlrpc-server yes)
(xend-relocation-server yes)
(xend-relocation-server yes)
(xend-tcp-xmlrpc-server-address '')
(xend-tcp-xmlrpc-server-port 8006)
(xend-relocation-port 8002)
(xend-relocation-address '')
(xend-relocation-hosts-allow '')
(network-script network-bridge)
(vif-script vif-bridge)
(dom0-min-mem 196)
(dom0-cpus 0)
(vncpasswd '')
</pre>
<p>Edit the file <code>/etc/xen-tools/xm.tmpl</code> as follows, around line 19:</p>
<pre>
memory      = '{$memory}'
extra='xencons=tty'
</pre>
<p>To generate one Gutsy-based DomU:<br />
<code>xen-create-image --hostname=gutsy1 --ip=10.0.1.3 --verbose --force</code>
</p>
<p>To boot created DomU:<br />
<code>xm create gutsy1.cfg -c</p>
]]></content:encoded>
			<wfw:commentRss>http://shanesveller.com/2008/04/10/ubuntu-gutsy-amd64-lvm-and-xen-from-repositories/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
