Date: November 17, 2011

Introduction

My primary machine at work (now running Fedora 15) has been upgraded many times (since at least Fedora 9, and probably a lot longer ago than that). I usually do yum upgrades and fight my way through the issues. When I upgraded to Fedora 15, I was unable to run gnome 3 (though it runs fine on the same machine via the live CD). This makes me think something is screwy with my packages and I have been planning when Fedora 16 came out, to bite the bullet and do a full reinstall.

Strategy

Since this is an important machine, I want a bailout plan. So I get a fresh disk and do the fedora install on it. This way I can keep my old install unmodified and just swap disks to go back if I need to. In fact, just to avoid confusion, I disconnect the two drives in the old system and only connect a cable to the disk I want to install on. I will connect up the other disks after the install finishes, mount partitions and copy files. The disk I intend to install on is a 200G Seagate SATA drive, more than big enough to hold Fedora and a lot more.

Getting started

I boot the x86_64 install DVD and quickly run into my first problem. I have a dual head system (using an Nvidia 6800 XT card with two DVI ports and two monitors). The installer does something stupid that puts the "back" and "next" buttons off the visible part of the one screen it is using. I found this listed as Fedora Bugzilla bug 725219 "anaconda should run in clone not span mode" and added my two cents. What I had to do is to figure out which of my two monitors was the black screen, unplug it, reboot the install CD and I could procede.

you have not created a bootloader stage1 target device

The next issue came up when partitioning the disks. Fedora now uses GPT (the Gnu patition table) scheme, making fdisk obsolete (you now use gnu parted). I suppose this allows disks or partitions bigger than 2T, which is useful for RAID systems or giant 3T hard drives. I set up partitions as usual (/boot, root, and swap) and was confronted with the "stage1 target device" error. What it wants is a 1M or 2M partition of the type "BIOS boot". Apparently this is essential when you want to boot from a disk partitioned via GPT. The message is unclear and misleading.

On from here

The rest of the install went quickly and without issue. My partition scheme was 2M for BIOS boot, 500M for /boot, 4G for swap, and the rest (almost 186G) for root. I selected "software development" as a hopeful set of packages to install that I know I will have to add a lot to.

I power off and cable up all 3 of my drives, which come up like so:

I don't have a clue why it sees SATA 2 as sda.

Gnome 3

This deserves a section of its own. Gnome 3 sucks - these people ought to be punished. I couldn't run it under Fedora 15, so I only had a few hours using the live CD to get irritated by it, but now I have been using it (or trying to) for two days, and simply hate it. Even doing what I am doing now (editing in one window, and trying to run a browser and email client at the same time) is clumsy and awkward. What were they thinking? Where are my desktops and simple ways to find windows behind others and get them into view. I'll get back to using xfce as soon as I get some other things smoothed out.

Get apache going

Well, I had to choose between "software development" and "web server" or something lame like that, so I do:
yum install httpd
I also copy my old /etc/httpd/conf/httpd.conf file into place and put my document root back into /www/myhost where it used to be. Apache won't start, claiming it cannot find my document root, which is clearly bogus and confusing. It turns out this is due to selinux getting in the way (as it always does).

Nuke selinux from orbit

The general word on selinux is that unless you want to spend the rest of your life configuring it to allow you to do what you want to do, you should just get rid of it. I suppose fedora turns it on by default because their lawyers tell them that if anyone gets hacked and tries to sue them, they can always point out that they disabled selinux, hence it isn't their fault.

Anyway turning it off is pretty easy, you edit one line in one file and reboot (I don't know any way other than rebooting, it isn't a service that you can restart). The file is /etc/selinux/config and you edit an easy to recognize line to be:

SELINUX=disabled

Firewall fiddling

After this the web server starts up (after I comment out the section in the config file that tries to start my rails applications). I discover a day later that port 80 is not open to the outside world, which is kind of embarassing. To open it, I edit (ignoring the comment at the start of the file advising me not to) the file /etc/sysconfig/iptables and add the line:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
By default, only port 22 is open (SSH).

ssh host keys

Since I did a full fresh install, a new set of host keys for ssh for this machine were generated. These live in /etc/ssh and there are 6 files. I found the old files (*key*) on my old root disk and copied them into place, and now I no longer get warning we I try to ssh to this machine that look like:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
ae:60:b3:bc:52:ad:5b:f8:8a:d9:0b:41:5b:14:e1:b4.
Please contact your system administrator.

Install and switch to xfce

It has only been 24 hours and I can feel the stress and irritation having to deal with gnome 3, so I have made switching to xfce my next priority:
yum groupinstall xfce
After this, logout and pay attention when you log back in. After I enter my user name, gdm is asking for my password, but a little menu dingus labelled "Session" has appeared. Click on this and select xfce, then enter the password. It would be very nice to make xfce rather than gnome the default.

This took less than 5 minutes and it feels so much better!!.

Install ruby

You get perl and python, but not ruby by default ?? This is easily fixed via yum install ruby, but I still pine for the days when fedora had an "install everything" option. I remember asking, and getting the answer "well, what is everything?". My response was (and still is), everything on the install DVD!! Hard drives are cheap, my time isn't.

While I am at it, I am reminded to take a look at /etc/fstab and reestablish some nfs mount points from my old system.

systemd and systemctl

The systemctl command now replaces what was previously done via the "service" and "chkconfig" commands.

I guess there are a bunch of restless and bored programmers out there who cannot find anything better to do.

See:

Adobe flash

Adobe now provides a flash plugin for 64 bit (and has yum repositories, to make keeping it up to date automatic). I first tried just copying the repo files from another machine that had this set up, but this was not the way to do things.
rpm -ivh http://linuxdownload.adobe.com/adobe-release/adobe-release-i386-1.0-1.noarch.rpm
rpm -ivh http://linuxdownload.adobe.com/adobe-release/adobe-release-x86_64-1.0-1.noarch.rpm
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-adobe-linux
yum install flash-plugin

It takes mere seconds to set up the repositories, but you get the warning "RPMDB altered outside of yum", which is exactly correct (and you only see this warning once). Note that the only package I install is flash-plugin. No nspluginwrapper or anything else, and it works.

If you want to run adobe acrobat reader, the 32 bit repository is good to add, even on a 64 bit system. Then to install the english language version of the reader:

yum install AdobeReader_enu
This pulls in 59 packages (mostly library dependencies).

After this, the command "acroread" will start it, albeit with lots of the following messages:

(acroread:7096): Gtk-WARNING **: Unable to locate theme engine in module_path: "clearlooks",

Matlab 2007b

When I try to run my old version of matlab, I get:
error while loading shared libraries: libXp.so.6: cannot open shared object file: No such file or directory
Apparently this is a "deprecated" library. For a time it was available in the xorg-x11-deprecated-libs package, but this is no longer available. What I do to get it is:
yum install libXp
After this, we are on to getting the license manager to run. It expects to find my license in /u1/Mathworks_2007b_64/etc/license.dat

A list of packages I have had to manually install

ruby
php
wine
createrepo
yum-cron
perl-Tk
ruby-gtk2
wireshark
wireshark-gnome
wish
tix
blt
vnc (gets "tigervnc")
Note that yum-cron needs a "start" and "enable" on "yum-cron-service".

I have been down this road before and it makes no sense. I install wireshark, then type "wireshark" on the command line and get "no such command". Then I install wireshark-gnome and I can launch wireshark from the command line - maybe this makes sense to somebody.

xfce clock plugin

This thing is fine, but I want it to show me time and date, not just time. This can be done via some printf style escape codes, see the man page for strftime(). Apparently the default is %r, which displays the current 12 hour date. A quick answer to what I want is %c which gives me the local date and time, but in 12 hour time and not exactly what I want (but close).

VxWorks diskless booting

First I need to have dhcpd running:
yum install dhcp
service dhcpd start
chkconfig dhcpd on
The latter is equivalent to:
Note: Forwarding request to 'systemctl enable dhcpd.service'.
ln -s '/lib/systemd/system/dhcpd.service' '/etc/systemd/system/multi-user.target.wants/dhcpd.service'
I copy my old /etc/dhcp/dhcpd.conf and make sure it says "not authoritative" rather than "authoritative", and start it up as indicated above.

Next I need to get tftp going. This means copying the /tftpboot directory and getting the tftp server. While we are at it, we also get the rsh server.

yum install tftp-server
yum install rsh-server
I also installed tftp, which is the client and not necessary for vxworks booting. Installing tftp-server pulls in xinetd as a dependency, much to my surprise (I figured you always had this on any linux system).

Then I edit /etc/xinetd.d/tftp to enable the service and point it to /tftpboot. I also edit /etc/xinetd.d.rsh to turn that service on. Then I then restart the xinetd service:

service xinetd restart
chkconfig xinetd on
Now the thing to do is open firewall ports for these services. I do this by editing /etc/sysconfig/iptables.

gthumb and libclutter

First of all, what is and why is there such a thing as libclutter? But never mind that, running gthumb yields:

gthumb: error while loading shared libraries: libclutter-gtk-0.10.so.0: cannot open shared object file: No such file or directory

Running "locate libclutter" shows that I have version 1.0 of this library, but not the ancient 0.10 version that gthumb seems to require. One suggestion (amidst a host of yum bug reports related to this) is to just erase gthumb and reinstall it so that it will pull in the dependencies it requires. The strange thing: the erase didn't even think gthumb was installed! This does get past the libclutter library issue, but now gthumb segfaults on startup. However, this now seems to have "fixed itself", so I am good to go. (This is gthumb 2.14.1).
Have any comments? Questions? Drop me a line!

Adventures in Computing / tom@mmto.org