2008_serversOver the last 15 years, I’ve trialed many different hosting/vps providers..each has its own awkwardness or annoyances that we tend to become used to and accept.

A few years ago, while looking for a new VPS a friend referred me to memset…I quickly checked out the price of their baseline VM (just under £10 per month, with no long term contract) and thought I’d have a crack and see what they were like.

I’ve got to say, there is very little chance I will ever take my business anywhere else..and I thought I’d put together a list of the reasons why I make this claim, as it might help you with your hosting decisions going forward..

1) Setup: Within about 15 minutes of ordering your VPS setup, it will be booted and you will have ssh credentials (this morning, my latest one was 6 minutes after order). This is the *minimum* of fuss, with an auto-updating form you select the specification of the box, installed operating system and any monitoring or backup solutions you might want.

2) Uptime: I get seriously high uptime will all of my memset VPSes, but let me tell you what happens in the event of hardware failure; the problem gets resolved in a business-like time scale, then you usually get a summary email with details of the problem..followed by a much more extensive description of exactly what happened, why, and how it was rectified. No-one can *guarantee* uptime, but keeping you informed when something does go wrong is awesome..

3) New technologies: During my time being a memset customer, they seem to constantly make new features available to me. For example, I can take a snapshot of the entire disk image of any one of my servers..then download it as a tar file. This is fantastic, as not only does this provide a backup solution..but if I want to dig around the filesystem of one of my boxes..I can download it, mount it and have a poke around. The reason for this particular article is that today, while creating a new VPS instance..it offered (in addition to the usual OS selection) my snapshots!!! for building the new instance with..awesome.

4) IPv6 : I get a full /64 IPv6 range..this is not tunneled but is a native IPv6 address. There aren’t many hosting providers offering this yet. You have to register for the service (note: it is still currently BETA), but that was very painless. The only thing I would say *against* the IPV6 service is, currently its available on selected ports only..which is a bit annoying, but I was reliably informed (when contacting support about the issue) that when the service comes out of BETA, it will be unfiltered.

5) DNS : Using the DNS interface is trivial, and I’m yet to find a record type I can’t add…dns propegation takes a handful of minutes.

6) Customer Service: This is really where its at for me, whenever I have called or emailed..beit sales or support – I’ve got a very fast response. Previously I’ve rang, desperate to have a VPS provisioned quickly and the sales person bumped me up the queue and got it happening.

My favorite was (and includes one of the only annoyances), I spent a week to-and-fro with a support engineer because my EL6 kernel doesn’t have selinux enabled (a little annoying, hopefully this gets sorted soon)…He spent the whole week trying to build me a custom kernel with selinux enabled. Bare in mind, I was paying £9.95 per month for this VPS, and he was trying to build a specific kernel for me!! Fantastic.

My VPS instances must be business grade. I run a variety of websites and web services, including MTA stacks and databases..they must be reliable and available. From this perspective, I have no reason to leave memset..the service offering is great, good work guys!

Sometimes yum barfs issues such as

Failure: Cannot retrieve metalink for repository: fedora. Please verify its path and try again

I’ve found that this can happen if an install is particularly out of date and needs updating, among other things.

A handy “fix” is to quickly switch out the mirrorlist parameter in the *.repo configuration file, and enable the baseurl parameter. This quick sed should fix you up pretty quickly:

sed -i ‘s/#baseurl/baseurl/g’ /etc/yum.repos.d/*.repo ; sed -i ‘s/mirrorlist/#mirrorlist/g’ /etc/yum.repos.d/*repo

In order to revert the changes (when you’re updated or the mirrorlists are back online..

sed -i ‘s/baseurl/#baseurl/g’ /etc/yum.repos.d/*.repo ; sed -i ‘s/#mirrorlist/mirrorlist/g’ /etc/yum.repos.d/*repo

So there’s a hard limit of 640 megs of ram with Anaconda in Fedora 15…which is rather annoying on the livecd, because it doesn’t need anything like that amount to install, moreover a cumulation of the unified initrd, anaconda, yum and semodule on the dvd’s installation which will eat your RAM.

Anyway, below is a method for installing the livecd image in much less than 640…I’ve tested it at 512, but it doesn’t seem to get much more than 200M so I’m guessing it would work lower.

Use at your own risk…it worked for me 🙂

#method for installing Fedora15 live in less than 640M RAM
#
#this particular version is for a vm, but the basic rules should apply
#
#create a raw disk image big enough
qemu-img create -f raw FedoraLive.img 10G

#boot the liveCD, along with the disk image, with 512M RAM

qemu-kvm -m 512 -hda FedoraLive.img -cdrom Fedora-15-i686-Live-Desktop.iso

# you can boot either runlevel 3 or 5, but you only need a console, so 3 is enough (append 3 to the boot argument)
# next, confirm that your unpartitioned, raw disk is available
fdisk -l | grep sd

#should return something like “Disk /dev/sda doesn’t contain a valid partition table”
#fdisk the device and create a valid partiton table of 3 partitions (one for /boot, one for /, one for swap
# in my case, I have /dev/sda1 (200M) for /boot, /dev/sda2 (2G) for swap, /dev/sda3 (the rest) for /boot
#
#make the filesystem
mkfs.ext3 /dev/sda1
mkfs.ext3 /dev/sda3
mkswap /dev/sda2

# loopmount the squashfs
mkdir /squash
mount -o loop /mnt/live/LiveOS/squashfs.img /squash

# dd the contents of the filesystem to /dev/sda3 (or whichever you used for /)
dd if=/squash/LiveOS/ext3fs.img of=/dev/sda3

#this could take a while, because its 4G in size. I haven’t played with various blocksizes (bs=fooM), but I guess that might speed things up a bit

#now to check everything went across ok

#make the sysroot directory
mkdir /sysroot
#mount the device
mount /dev/sda3 /sysroot
#mount the boot partition
mount /dev/sda1 /sysroot/boot
#check that the contents of /sysroot looks like a proper filesystem, then resize /dev/sda3 to the maximum size
resize2fs /dev/sda3
# copy the kernel into your sysroot
cp /boot/vmlinuz-* /sysroot/boot
# copy the splash image into your sysroot (make it pretty)
cp /boot/grub/* /sysroot/boot/grub/
# chroot into your filesystem
chroot /sysroot
# create an initramfs
dracut -f
# make a menu.lst in /boot/grub/
# it should look something like this

default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
title Fedora
kernel /vmlinuz-2.6.38.6-26.rc1.fc15.i686 root=/dev/sda3 quiet rhgb
initrd /initramfs-2.6.38.6-26.rc1.fc15.i686.img

# now, exit the chroot
exit
# next, install grub on your new filesystem
grub-install –root-directory=/sysroot /dev/sda
#
#reboot and enjoy your Fedora 15 🙂

Oh, you’ll want to mount your swap, and likely create an /etc/fstab but thats outside of the scope of this howto

Before you navigate away / delete this post, let me just say that this is *not* another gnome3 flaming session..

Personally, I’m all up for change – it makes life better, and I’m really, really tired of reading blog posts and IRC dialog which flames gnome3… I have my own opinions on gnome3 and have decided to write about them..

Does It Appeal To The Masses?

I’ve stated from the start, G3 is a massive shift for the end user experience, and a ballsy move in itself. When I first tried G3 it stood out as being an entirely different user experience to the windows-esque DE’s we are used to seeing. This, for me is an uber-cool move forward and more power to gnome for doing it.

My hypothesis at this point in time was; gnome3 will attract more users to Fedora, and linux in general (when it becomes more widespread) because of this new, shiny, compositing experience…but I could be wrong.

Many of my IRC buddies shot it down in flames in a heartbeat…well, sorry guys – but IMHO G3 isn’t meant for you…its meant for the masses. I absolutely DO NOT use G3 for my personal use, I tried it, it was pretty and enjoyable…but it just doesn’t fit my requirements of a desktop environment. However, I am not everyone, and I am definitely not the masses. My (possibly idealistic) thoughts that it would indeed appeal to the masses remained, it just didn’t appeal to my personal needs. That makes it 1-0 against gnome so far (with mitigation I think)

The Proof Is In The Pudding

I’m not a gnome fanboi or anything like that, but I wanted to know if this new user experience was going to appeal to the masses, and attract new users as I had guessed…so I set about finding out.

Firstly I installed it on my girlfriends laptop (Fedora 15 beta at the time), obviously I needed to enable the rpmfusion repos and install a variety of non-free stuff in order to make it a decent user experience for her…but I was really interested in what the reaction would be. In summary, the reaction was exactly as I expected – she loves it, everything comes quickly to hand and the interface is very intuitive….1-1 , In my highly scientific experiment cross-sectioning users – the scores are level

Next, I installed it on my 11 year-old boy’s laptop…although he doesn’t really care about the new interface, it took him all of about 10 minutes to find his way around it….no score, still 1-1

Now the real sadistic test arrived. I chose two of the guys working in my office (currently using windows XP) and net-installed Fedora 15 stable / Gnome3 on their boxes. I’ll note at this point that its not a cool idea to be installing Fedora in a commercial environment unless you know how to back out of things quickly (please don’t bother flaming me over it either, its highly unlikely that I’ll care enough to reply). Now, hats off to Fedora – it worked, straight away – joined the network, accessed the file shares and printers (after a little time spent messing with .PPD’s)…now there may be a tiny amount of this success down to my personal experiences, but not alot – it does actually work, in (my) a commercial environment. Fedora++

Here’s the part the G3 haters won’t like….Gnome 3 made life very easy for me, they both love their new OS and have spent the last 2 days telling me how to do X or how to change Y…evidently it is more intuitive than I originally gave it credit for. 3-1 Gnome, game over….

Summary: Ok, so it doesn’t fit my personal needs, and it also doesn’t fit the personal needs of many of my friends…but the question was – Would it appeal to the masses, and bring more users to Fedora?…Well it did, 4 so far and I’m pretty sure once the video’s get out on youtube / whatever there will be more livecd downloads and more transitions from $(other OS). Although 4 is a particularly small number, lets not forget that it also represents 100% of the people I tried it out on.I’m also particularly proud that the distro I personally contribute toward was the first (afaik) to ship Gnome3…..nice work guys!

There’s so much going on in the Fedora community at the moment, new releases, new faces, new events – I’m not sure in the time that I personally have been using Fedora that I have seen it quite like this..

I have a personal bug-bear currently, with the amount of bad press the community, and in particular #fedora seems to be receiving – but I’ll blog about that later….the most important thing to me at the moment is the upcoming board elections.

I have decided to nominate, and actively campaign for Robert ‘Bob’ Jensen (irc nick: EvilBob) … and I will briefly tell you my reasons for doing so:

1) For the last two elections, I have asked Bob to stand, unfortunately he declined both times (with valid reason), this time he is prepared to run, based on the confirmed vote of at least 10 people (understandable)
2) Love him or hate him, Bob is renowned for taking a no-nonsense approach to issues, by no means does this mean his actions and opinions are not pragmatic, but I regularly turn to Bob for feedback and advice in both my Fedora life, and my personal life – and although I may not *like* the answers sometimes, they are always practical and without prejudice.
3) Bob is one of the founders of Fedora Unity, and has worked tirelessly on the project to make it the success it is today, there are countless number of failed sub-projects out there, Unity is a regularly used resource of information relating to Fedora, with many how-to’s and walkthroughs – I certainly feel like his influence has played no small part in its success.
4) I DO believe Bob will influence change, he has never demonstrated a propensity to back down quietly on any of the issues he firmly believes in – I think the project needs this currently.

I am, with this blog post calling out folks to start making this project what it can be, in order for Bob to accept his nomination he wants a clear 10 supporters of this cause. I ask you to re-blog, permalink, facebook, do whatever you can to campaign this cause – ALL of us can make Fedora be what it can be…

Over the last few days, my free time has been taken up with writing a new supybot plugin….

Basically, I help out on #fedora a fair bit, and it seems to be that a large proportion of the questions from users are “does fedora ship foo” or “what version of bar does fedora have” or “how to I get /lib/foo.so”, so I figured – it would be nice to have fedbot be able to answer those queries directly – save us all typing “yum provides”.

So I started digging through the source for repoquery, and realized that in the most part, it uses yum – so I started digging through yum 🙂

The main reason for my post is – I’ve now spent a fair amount of time digging through yum’s python bindings and I’ve got to say, its very,very complete (I’ll note, I needed direction from both skvidal and gepetto on #yum – thanks guys! 🙂 ). I guess, what you see with the cli command doesn’t always reflect the power of the application behind it.

Anyway, work on the plugin is progressing nicely, it can already give the version of a package from a given fedora release and arch like so:


<dcr226> rversion 14 x32 kernel
<thisbot> kernel-2.6.35.6-45.fc14.i686 Fedora 14 - i386|size 21MB|Date Mon Oct 18 12:00:00 2010
<thisbot> kernel-2.6.35.12-90.fc14.i686 Fedora 14 - i386 - Updates|size 21MB|Date Fri Apr 22 12:00:00 2011

now, the information above is gained directly from the fedora repos (via the mirrorlist), and it queries the standard fedora&updates repos, although getting it to query updates-testing is trivial.

The second function I’ve been working on is rprovides. This one works in the same way that yum provides does, giving you the package which provides a given command/library/whatever:

<dcr226> rprovides 14 /bin/ls
<thisbot> coreutils-8.5-6.fc14.x86_64 Fedora 14 - x86_64|size 3MB|Date Fri Oct  1 12:00:00 2010
<thisbot> coreutils-8.5-7.fc14.x86_64 Fedora 14 - x86_64 - Updates|size 3MB|Date Wed Nov  3 12:00:00 2010

So far so good; hoping to further increase the capabilities of this plugin to include other yum functions. I’m also hoping to get bodhi information in there also.

Any feedback/feature requests are much appreciated 🙂

My son Benjamin has been through a pretty rough trot of things lately, a cold managed to manifest itself as pneumonia, and put him in hospital for 3 weeks 🙁

Fortunately (and fingers crossed) he will be going home in a few days to fully recover.

In the meantime, I decided it was time to overhaul his bedroom – so Linda and I have spent the last few days taking it from this:

to this:

I’m pretty pleased with it, although Abbie has already started asking for hers to be done :-/

I’ve recently lost a load of pictures, so I’ll be kinda using the blog as a file repo for them going forward.

Here’s a photo of me and two of my brothers at the Cheltenham festival 2010

It will get there, can’t decide if I need a massive mural/stencil on the plain wall. :-/