Borys Bradel's Blog
Experiences with Ubuntu 9.10, Fedora 12, and Debian kFreeBSD
Tags: linux November 21, 2009
I recently upgraded the Ubuntu distribution on my box from 9.04 to 9.10 and decided to surf the internet from a virtual machine, KVM. The two distributions to run on KVM for this purpose are Fedora 12 and Debian kFreeBSD. Since kFreeBSD will only be a full part of the next release, I'm using it from sid, which is Debian's unstable distribution.
The command I use to start the kvm, where to boot from the hard drive the boot option is set to c and from an iso it is set to d, is the following (note that e1000 is used for the network because the default model seems to cause problems, at least for kFreeBSD): kvm -M pc -hda hdd.img -m 512 -cdrom cd.iso -net nic,model=e1000 -net user -boot c
Ubuntu 9.10 is relatively nice. KVM is much faster in Ubuntu 9.10. Also, it allows the virtual machine's windows to be resized. KVM is probably the main reason to upgrade. Having said that, you have to be okay without sound and without virtual consoles. A lot of people have sound issues with the new version of Ubuntu, and I'm one of them. There seem to be ways around it, although none seem to be very good. As for the virtual consoles, they are a colourful and blinking collection of ASCII characters. I know this happened occasionally before. However, it seems like a bigger problem now. I don't remember what the behaviour of 9.04 is in this regard.
Fedora 12 is similar to Ubuntu, especially since I'm using GNOME for both. It looks like a nice Linux distribution. RPM hell doesn't exist anymore, which is good. The user interface is as good as any other distribution. However, there are some downsides, probably because of running Fedora inside of a virtual machine. Firefox crashed once on me, and sometimes Firefox goes crazy and starts cycling through all the tabs. Also, Fedora 12 comes with Thunderbird 3.0 Beta 4. Using beta software seems a little dubious. Thundrbird runs okay, although getting it to create a new folder required multiple attempts. Trying to resize the window that Fedora is running in also seems to screw up how Fedora looks like, which requires an X server restart (logging out and then logging in). The resolution is only 1024x768 using the default cirrus vga driver and 800x600 with the std vga driver. I tried to change that for a while, and I gave up because it was taking too much effort. This brings me to the biggest downside. A bad xorg.conf file will make booting impossible. The screen just goes black and stays there. Fortunately, I was able to fix that by using the install CD image and going to the rescue option to drop down to a console, and then deleting the bad file. That caused a nice message on the next boot:
SELinux targeted policy relabel is required
I guess removing the file caused a consistency problem somewhere. Once the relabeling was done, Fedora worked properly.
SELinux seems like something that in theory sounds good and in practice is too much of a pain to set up. However, there is potential in a tool like this that has fewer options. That would be useful for scenarios where programs should perform no writing of files, e.g. evince or kvm, or when only one directory can be written to, e.g. Thunderbird and Firefox. Then again a person can use only a subset of SELinux (or AppArmor) to achieve that goal. That might be worth looking at.
Finally, kFreeBSD. It works a lot better than any of the other BSDs or OpenSolaris, at least inside of a virtual machine. From my previous experience, all the other BSDs tend to do everything from source. Therefore, keeping up to date with the software can require very time consuming steps; even if one can overcome problems due to the network, package repository (by changing from the default ports repositories which seem out of date to openports.se), or hard drive image (I read somewhere that OpenBSD requires to be in a fixed size file in VirtualBox). Also, I don't like it that OpenSolaris only provides timely security updates to people that pay for support.
I used the instructions at this blog entry to install kFreeBSD. The instructions are good, although be careful when at some point you need to press alt-F3 to proceed. The mouse focus needs to be captured by the virtual machine window when alt-F3 is pressed. Otherwise the window closes and the process needs to be restarted. Also, the two lines two uncomment in the interfaces file have to do with dhcp. The two lines may not necessarily have ed0 in them, although it's pretty clear what to uncomment. I also installed a slightly larger amount of packages with the command apt-get install iceweasel vim xorg icewm xterm bzip2 evince
kFreeBSD still has many rough edges. First, the maximum resolution is initially 800x600. However this post shows a way to go beyond that to 1152x864. The scaling of the virtual machine window didn't work properly at first, and caused the X display to be screwed up. However, it has started to work, which is good. Second, the top command gives an error about an unknown HZ value. Third, I installed ssh, and sshd was started up immediately, and with remote root access enabled. That is bad. I guess a command like /etc/init.d/sshd stop or /sbin/servise sshd shutdown can be used to disable it and then apt-get remove --purge openssh-server will remove the package. And /var/log/messages can be checked if anyone tried to access the machine through ssh. Still, starting a service like that is not good. Fourth, the icedove package is not in the repository. However, even with these rough edges, kFreeBSD is still quite usable. Although Fedora or Ubuntu are probably a better choice for the desktop. And for a server, biting the bullet and using OpenBSD is probably a better choice. A really good website to figure out how to install OpenBSD is openbsd101.com.
In conclusion, all three distributions are usable while having some rough edges. Ubuntu with sound and the virtual consoles, Fedora with the flaky X server, and kFreeBSD with the package issues.
Copyright © 2009 Borys Bradel. All rights reserved. This post is only my possibly incorrect opinion.