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:
- SATA 1 - 200G /dev/sdb - the disk I installed on
- SATA 2 - 300G /dev/sda - my old boot disk
- SATA 3 - 1500G /dev/sdc - my user files
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).
- %a - 3 letter day of week abbreviation
- %b - 3 letter month abbreviation
- %d - the number of the day
- %m - the number of the month
- %r - current 12 hour time
- %R - current 24 hour time
- %c - current time and date
- %Y - 4 digit year
- %T - time as %H:%M:%S
- %Z - 3 letter time zone (like MST)
- %p - AM or PM if known
- --- and many more.
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