{"id":1251,"date":"2012-09-01T22:20:02","date_gmt":"2012-09-02T02:20:02","guid":{"rendered":"https:\/\/lowtek.ca\/roo\/?p=1251"},"modified":"2012-09-01T22:20:02","modified_gmt":"2012-09-02T02:20:02","slug":"ubuntu-server-hardy-lts-upgrade-to-lucid-lts","status":"publish","type":"post","link":"https:\/\/lowtek.ca\/roo\/2012\/ubuntu-server-hardy-lts-upgrade-to-lucid-lts\/","title":{"rendered":"Ubuntu server 8.04 LTS upgrade to 10.04 LTS"},"content":{"rendered":"<p><a href=\"https:\/\/wiki.ubuntu.com\/Releases\">Ubuntu<\/a> 8.04 LTS desktop edition hit <a href=\"http:\/\/en.wikipedia.org\/wiki\/End-of-life_(product)\">end of life<\/a> well over a year ago (<a href=\"https:\/\/lists.ubuntu.com\/archives\/ubuntu-announce\/2011-April\/000144.html\">May 12, 2011<\/a>), the server version end of life date is April 2013 &#8211; not too far away. With a server exposed to the internet, staying up to date with patches is good hygiene &#8211; there is also the tried and true &#8220;<a href=\"http:\/\/en.wikipedia.org\/wiki\/If_it_ain%27t_broke,_don%27t_fix_it#.22If_it_ain.27t_broke.2C_don.27t_fix_it..22\">if it ain&#8217;t broke, don&#8217;t fix it<\/a>&#8220;. While there have only been a few critical patches in the last while, I want to stay on a supported version.<\/p>\n<p>The end of life date is a good motivator, but what actually triggered my upgrade was wanting to make use of <a href=\"http:\/\/en.wikipedia.org\/wiki\/EncFS\">encfs<\/a> &#8211; and discovering that the version available on 8.04 didn&#8217;t have the feature (&#8211;reverse) that I was looking for. \u00a0I&#8217;m actually only part way there as I intend to upgrade all the way to 12.04 LTS to avoid <a href=\"https:\/\/help.ubuntu.com\/community\/FolderEncryption#Compatibility_Warning\">compatibility issues with data stored with encfs<\/a>. This post will focus on issues and solutions that I encountered on the way to 10.04.<\/p>\n<p>Initiating the upgrade process is quite easy. If you choose to do this via SSH (as I did) you&#8217;ll be warned that this could be a bad idea. In my case console access is possible if I head down to the dusty corner of my basement where it lives, so I felt certain that I could recover if needed.<\/p>\n<p><code>$ sudo do-release-upgrade<\/code><\/p>\n<p>Through the install process you&#8217;ll be warned of conflicts with the package maintained version of configuration files and the ones you have. Some of these conflict warnings will be pure console, and others will use the <a href=\"http:\/\/en.wikipedia.org\/wiki\/Curses_(programming_library)\">curses library<\/a> to display it a bit more graphically. As I was doing a fairly major upgrade (8.04 -&gt; 10.04) I opted in many cases to overwrite my configuration file with the package maintained version then perform a manual merge afterwards. If you pick this route make sure to keep good notes on which files need to be revisited AND that you have a full system backup &#8211; it is nice that the installation system will copy your old version to .dpkg-old so comparison is easy.<\/p>\n<p>Things seemed to go very smoothly, up until it was time to reboot. Post reboot I could ping the machine but SSH was not accepted. Time to head down and check out the actual console. It turned out that my RAID volumes wouldn&#8217;t mount and this derailing the normal start up.<\/p>\n<p>As with many things, someone else had run into pretty much the same problem and <a href=\"http:\/\/www.interphero.com\/?p=200\">posted a solution<\/a>. Sadly that wasn&#8217;t quite the full solution in my case as the RAID5 volume wasn&#8217;t being recognized properly. I did find the <a href=\"http:\/\/superuser.com\/questions\/117824\/how-to-get-an-inactive-raid-device-working-again\">help I was looking for<\/a>, so basically here is what I did.<\/p>\n<p>Since my RAID volumes are not needed to boot the OS, I simply skipped mounting those drives. Once logged in I could issue:<\/p>\n<p><code>$ sudo mdadm --auto-detect<br \/>\n$ sudo mdadm --examine --scan<br \/>\n<\/code><br \/>\nThis gave me:<\/p>\n<p><code>ARRAY \/dev\/md3 level=raid5 num-devices=3 UUID=7a6c5b68:6d6d7031:7653325d:7e304e58<br \/>\nARRAY \/dev\/md2 level=raid1 num-devices=2 UUID=593e3663:69294b3b:30443245:23496c5f<br \/>\n<\/code><br \/>\nWhich I effectively cut &amp; pasted into the\u00a0<code>\/etc\/mdadm\/mdadm.conf<\/code> file with one small change: I replaced <code>\/dev\/md3<\/code> and <code>\/dev\/md2<\/code> with <code>\/dev\/md\/d3<\/code> and <code>\/dev\/md\/d2<\/code> respectively. I&#8217;m not certain this was necessary but it matched closer what the 1st solution I found described and it is working fine in my system.<\/p>\n<p>Once past that roadblock, most of the other things were trivial. I found copying the config files back to my Ubuntu desktop system and using <a href=\"http:\/\/meldmerge.org\/\">meld<\/a> to view differences to be much easier than trying to interpret the console diff utility.<\/p>\n<p>There was a warning about the default TCP port changing for <a href=\"http:\/\/postgrey.schweikert.ch\/\">postgrey<\/a>, yet for some reason mine still appears to be running happily on port 60000. I also had some trouble with my <a href=\"http:\/\/thinkupapp.com\/\">ThinkUp<\/a> installation, one of the required PHP packages (php5-mcrypt) had been auto removed in the upgrade. While I&#8217;ve certainly missed something in the process, it&#8217;s been a couple of days and I haven&#8217;t seen any serious problems due to the upgrade.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ubuntu 8.04 LTS desktop edition hit end of life well over a year ago (May 12, 2011), the server version end of life date is April 2013 &#8211; not too far away. With a server exposed to the internet, staying up to date with patches is good hygiene &#8211; there is also the tried and &hellip; <a href=\"https:\/\/lowtek.ca\/roo\/2012\/ubuntu-server-hardy-lts-upgrade-to-lucid-lts\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Ubuntu server 8.04 LTS upgrade to 10.04 LTS&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[],"class_list":["post-1251","post","type-post","status-publish","format-standard","hentry","category-computing"],"_links":{"self":[{"href":"https:\/\/lowtek.ca\/roo\/wp-json\/wp\/v2\/posts\/1251","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lowtek.ca\/roo\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lowtek.ca\/roo\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lowtek.ca\/roo\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lowtek.ca\/roo\/wp-json\/wp\/v2\/comments?post=1251"}],"version-history":[{"count":2,"href":"https:\/\/lowtek.ca\/roo\/wp-json\/wp\/v2\/posts\/1251\/revisions"}],"predecessor-version":[{"id":1253,"href":"https:\/\/lowtek.ca\/roo\/wp-json\/wp\/v2\/posts\/1251\/revisions\/1253"}],"wp:attachment":[{"href":"https:\/\/lowtek.ca\/roo\/wp-json\/wp\/v2\/media?parent=1251"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lowtek.ca\/roo\/wp-json\/wp\/v2\/categories?post=1251"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lowtek.ca\/roo\/wp-json\/wp\/v2\/tags?post=1251"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}