Fedora Linux version upgrade: FC10 to FC14

Share it!

Fedora Version Upgrade

Like some of you, I have several computers to support and maintain. Whenever there is a new version of an operating system, I don’t want to spend a whole lot of time upgrading each computer from the release DVD. What I do is copy the release DVD to a file server once and update other computers from the server with anaconda. I add any additional packages that I want to install, configuration files and custom scripts for each computer to the server as well. This makes the upgrading process slightly easier since all I need to do is boot from the release DVD on the computer that I want to upgrade and point it to the server with a pointer to the proper install script. It is easier, but only in theory. :)

Fedora Core version 10 has been extremely stable and most everything I use worked on it flawlessly. When I tried to upgrade to version 12, I had number of problems. My biggest problem was with the mysql databases. In order to upgrade from version 10 to 12 what you have to do is first boot to version 10, dump all databases into a dump file, then boot version 12, and import them into the new mysql version. So there is no way to go back and forth while using the same mysql database files. This meant that most of the problems(seen and unforseen) needed to be solved before the upgrade.

I made the jump to FC14 over the Memorial weekend at the end of May. As I find new problems / solutions related to this upgrade I will put it in this document.

Ideally I would put every answer to every question the installation script will ask me in the anaconda kick start script. This way I don’t have to babysit the installation process. Once started, it all would happen until the reboot screen. Well, again this is in theory. For example due to a bug in anaconda, version 10 insisted on asking about the time zone. Version 14 is definitely more picky. For example it wanted to see section end ‘%end’ line at the end of the file. Although clearly specified on which partition to install, it brought up the partition screen for me to type in the same information. If I disabled the second hard drive it worked fine, but then since all the packages were stored in the second hard drive, it complained that it could not see the package directory. But overall over 90% of the questions the installation process will ask can be answered in the kickstart script.

Resizing/Moving partitions

As part of this version upgrade process, I wanted to also resize my partitions from about 6 Gb to about 20Gb. Neither fdisk nor parted was able to do this. The program that worked for me was gparted. gparted visually allows you to move or resize partitions. It is good idea to backup the partition before doing something like this. First make sure that the partition is not mounted, then use dd to back it up. For example to backup sda2 you would type something like this: dd if=/dev/sda2 of=sda2.bkup bs=512.
In my case nothing went wrong, I resized and moved my partitions before installing FC14.

Wrong time

After using FC14 for a day or so I noticed that the time was wrong. I adjusted the clock, but then when I rebooted the time was wrong again. You have to run the system-config-date and uncheck the ‘System clock uses UTC’ setting.

Mozilla Browser Setup

All mozilla browser settings are stored in your home directory inside .mozilla directory. It is an invisible directory, to see it you have to do ls -a. I copied the bookmarks.html file from FC10 over the new one, however this does not work. What worked is that after booting to FC10 you have to export your bookmarks file, and then boot into FC14 and import that file.
This will bring all the bookmarks into FC14, but mozilla settings will not be carried over. To do that copy the profile.ini file and edit it to match to the salt.default directory, and copy over the FC10 salt.default directory under the FC14 version. This will carry over the mozilla settings.

Apache web server problems (httpd)

After the upgrade to FC14, .php scripts stopped working. The browser would display the contents of the script without executing them, although the scripts and the configuration files were identical to FC10 version. So what changed in the apache web server?
It turns out the default for the .php plugin has changed. Before \<\? markups were considered php scripts and were executed. Now you have to put \<\?php to define php scripts. The reasoning behind this decision is that XML files use \<\? markup and it would be confusing to use the same markup for php scripts. One way to fix this problem is to edit /etc/php.ini file and set short_open_tag = On.
Another way is to replace every occurrence of \<\? in every .php or .html file in your web site. I used sed command with edit in place option -i to do that, but first you have to check to make sure that the markup is \<\? and not \<\?php. Otherwise after editing you would get \<\?phpphp. To edit a single file you would type:
sed -i -e's/\<\?/\<\?php/' filename.php

If you want to edit whole bunch of files, use find command together with sed like this
find directoryName -name "*.php" -exec sed -i -e's/\<\?/\<\?php/' \{\} \;
Note that the find command will recurse down into every sub directory to find every .php file, so be careful.
By the way, if you want to use php scripts in .html files, you have to change /etc/httpd/conf.d/php.conf configuration file and modify AddHandler line to include .html and .htm as shown below:
AddHandler php5-script .php .html .htm

MySQL database issues

As mentioned earlier, one of the biggest problems in upgrading from FC10 to FC14 is that the mysql databases are not compatible. First you have to boot to FC10, dump all databases, then boot into FC14 and import all databases into the new version. Yes, it is a little bit of a pain, but needs to be done if you are using mysql.

Here is how to dump your databases with version 10. For each database type the following command:

mysqldump -u username --databases mysql > mysql.sql
mysqldump -u username --databases mydata1 mydata2 mydata3 > mysqldump1.sql
mysqldump -u username --databases mydataN > mysqldumpN.sql

To import into mysql after booting version 14, type the command:

mysql -u username < mysqldump1.sql
mysql -u username < mysqldumpN.sql

That should do it.

Applications: Programming: Devhelp

In FC14 devhelp will not come up. The problem is with glib2 version 2.26, and downgrading to version 2.25 fixes this problem. However, the problem is that many other applications break after the downgrade. So the cure is worse than the disease. Unfortunately I don’t know a solution to this problem. Here is the error message you get invoking devhelp.

/usr/bin/devhelp undefined symbol: g_application_get_type

To fix this problem update the devhelp package version from devhelp-2.31.6-3.fc14.i686 to devhelp-2.32.0-1.fc14.i686 by typing:
yum -y update devhelp

Applications: Graphics: Blender

In FC10 there was a menu display problem with blender using Intel chip sets. I had to set the environment variable LIBGL_ALWAYS_SOFTWARE=1 to disable the hardware acceleration to fix the problem. In FC14 this problem seems to be fixed.

Applications: Programming: Eclipse

In FC10 Eclipse was running without any problems. In FC14 it first asks for the workspace directory, then starts loading all the plug ins, and displays a message window and hangs forever. You can not close the window. You have to kill the program to terminate it.

To fix this problem and various other related problems, download the eclipse from eclipse website and install it manually. The eclipse versions in the FC14 repository is broken.

Samba setup

Samba is used to share linux files with Windows XP computers over the network.

Just copying the samba configuration file over from FC10 will not work. What we need to do is create samba users and map them to linux users. Mapping is done in smbusers file in /etc/samba directory. For example a line linuxuser = guest pcguest smbguest will map the Windows users on the right hand side with the linuxuser on the linux side.

Create smb user root with smbpasswd -a root and set the password to something other than your linux root password. Add other samba users and set their passwords.

Note Windows XP professional has a different workgroup and will not work with standard windows XP. You can change the default workgroup WORKGROUP to MSHOME from ControlPanel->System->ComputerName. Click on workgroup name and set it to MSHOME, then reboot.

Media Players

Gnome comes with a Movie Player, but it is rather limited. You want to download and install k3b, mplayer or VLC, and perhaps XMMS. If you want to be able to play DVDs, you need to install libdvdcss, libdvdread, and libdvdnav. As root type rpm -ivh http://rpm.livna.org/livna-release.rpm to install the livna repositories so yum can find these packages. Also install an rpm package atrpms-repo-3-4.el3.i386.

You want to also download essential-20071007.tar.bz2. This package includes essential media coders and decoders that mplayer can use. To install, after extracting the contents from the package with tar xvjf pkgname, move all files into /usr/local/lib/codecs. That is how mplayer will find them.

You should be able to play any media format now.

gnome: gNote

I was using a program called sticky notes on my gnome desktop. There is no FC14 version of this program. There is a program called gnotes instead. There is supposed to be a way to import the sticky notes from FC10, but I could not make it work. I just manually transferred my notes from sticky notes to gnotes. Sometimes the brute force method works better.
gNotes seems to be more limited than sticky notes. It is not possible to bring all notes to the foreground with one click. You can’t change background colors.
I just noticed another problem with gNotes. If you change your preferences in Ad-ins, it does not remember your settings after the next boot. To fix this problem update the gnote package by typing:
yum -y update gnote

postfix gone

FC10 provided postfix rpm package in the standard distribution. What happened to it? I guess we are expected to use sendmail, or get postfix from the archives. Install it with
yum -y install postfix.

Floppy does not work

I rarely use floppy. When I tried to use it months later (in December 2011), I found out that the floppy was not working anymore. The explanation is that the driver is not loaded anymore, perhaps in preparation for dropping it in the future. The solution is to become root and load it by typing modprobe floppy. It is probably better to put this command in /etc/rc.d/rc.local so we don’t have to type it in every time we boot the system.

Lot of things can go wrong with floppies. Although my desktop system floppy worked without much effort, my spare system was another story.

It may sound silly, but the first thing to check is to make sure that the floppy drive is powered up and connected to the motherboard. :)

Second, go into BIOS and enable the floppy drive. If for any reason the floppy was disconnected, the BIOS will automatically disable the floppy drive.

Now you should be able to see the /dev/fdX floppy device nodes in the /dev directory. If not, create a file called floppy-php.conf, and put the following two lines into it.

alias pnp:dPNP0700 floppy
alias acpi:PNP0700: floppy

Once you have /dev/fdX device nodes becomes visible, you may have access problems if you are not root.

Even if you are root, there still might be write problems. Floppy disks have a little switch on them that make them Read-Only floppies. You have to flip them to the write-mode to enable writing.

Python application programs

I had a python application program that I have been using with FC10. It started to behave strangely under FC14. The solution was to delete all the .pyc files, which are compiled python files. When the same application is re-run, the interpreter recompiles the source files and the problem is no more. :)

uudecode

I had a python script that used uudecode program (/usr/bin/gmime-uudecode) to decode netnews messages with images. The python script exited with an error message that the uudecode program did not exist. It turns out the program was there but it was renamed to /usr/bin/gmimeuudecode. Pretty easy fix.

ASUS Z62F laptop skype video problem

I installed FC14 on my laptop which has a camera. The Cheese Webcam worked fine. I installed skype and the skype voice worked fine, but the skype camera did not work. The solution was to add the following line to /etc/profile:
export LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so

ASUS Z62F laptop wireless networking problem

The wireless networking works just fine with the Windows XP and Linux Mint, but it does not work with FC14. When I type ifup wlan0, The error message I get is:

Error for wireless request "Set Encode" (8B2A) :
SET failed on device wlan0 ; Invalid argument.

It took a while to track down this problem, but finally I got it. Just to be clear, the network card in question is Intel PRO/Wireless 3945ABG [Golan] Network Connection.

I was setting up the network card from the menu System/Administration/Network or Network-Device-Control. The network card was NOT running under NetworkManager. When I try to start the wireless network card by clicking on the button ‘Activate’, I would get the error message listed above. All the wireless setup information (ESSID, etc) was entered correctly, but the problem persisted.

What fixed this problem was this: from the menu run Network Device Control and make sure that the network card is running under the NetworkManager. You will see a NetworkManager icon in the gnome panel, when NetworkManager is running. NOTE: you can not use ‘Add Panel’ to add the NetworkManager icon. (The icon looks like two monitor one next to the other.) You have to type service NetworkManager start to start the NetworkManager.

Click on the NetworkManager icon. You should see the Wireless connection option. Open it and type in the password etc here. It should connect to the wireless router without any problems.

Firewall Computer

It was problematic to upgrade the firewall computer for several reasons:

  • It was a slow computer, so whatever I wanted to do took a very long time.
  • It had two network connections.
  • While I worked on it, all the other computers at home were down, as well as our VOIP phone vonage, sprinklers, yard lights, the web server.

I completed the upgrade over the 4th of July weekend, but I had hell of a time doing that. My problems started from the beginning: the installation DVD was not able to get the kick start file from the server. It seemed as if it got confused because of two network connections. But whatever I tried, including physically removing the second card, did not help. Finally I came to the conclusion that the installation DVD did not have the required network driver. The same process worked fine with FC10, so I am assuming that somehow the driver that was needed got dropped in FC14.

Since I had a limited time, I decided to continue with the manual install. I had three partitions on the hard drive: FC3, FC5, and FC10. I installed FC14 over the oldest version FC3, but without the boot loader. Then I used the installation DVD in rescue mode to write the boot loader with grub-install. My next problem was with grub-install. For some reason the FC14 grub-install did not recognize the hard drive hd0. I had to chroot to the FC10 partition and the FC10 version of grub-install worked without any problems. I updated the grub.conf file to boot the FC14 partition, and the FC14 booted.

Once the FC14 booted, it recognized both network cards, and after some tweaking, the network came up fine, and the pressure from the wife and the son dissipated. My next big problem was with the apache web server httpd.

It took a full day and a half to solve this problem. When I tried to start it with service start httpd I kept getting an error message that the DocumentRoot /var/www/html was not a directory. In fact it did exist, and it was a directory. I thought the problem had to do with permissions or a symbolic link. No matter how I changed the permissions or links, the problem persisted. After some googling, I finally figured out that the problem was with selinux. I normally disable selinux with the kick start file, however since I did a manual install, the selinux was enabled by default. I updated the file /etc/sysconfig/selinux to disable it, and rebooted the system. Then the webserver httpd started without any problems. Finally!

The next problem was with httpd again. When I tried to stop it with service httpd stop, it failed. When I requested its status with service httpd status, it said it was not running, which explained why ‘stop’ failed. Since I had upgraded my desktop system to FC14 earlier and had not seen this problem there, I started comparing files. It turned out that the problem was with the configuration file /etc/httpd/conf/httpd.conf. You can not use the configuration file from FC10 version. You have to start with the FC14 version and make changes to it. I added the two virtual domain names to the FC14 version. Now finally it is working!

It seems like there is always one more problem to deal with. Now none of the links and menu options are working. The weird thing is that the home page is displayed fine, and the admin window opens up fine without any problems. I spent pretty much all day to track this problem. .htaccess file was at the root of the wordpress folder, and the mod_rewrite module was loaded properly into the apache server. When I reboot into FC10, everything worked fine, but in FC14 it would stop working. Finally I figured out that the problem was again with the /etc/httpd/conf/httpd.conf file. I changed AllowOverride None to AllowOverride All and typed service httpd restart. Now finally everything is working.

Except that I had to switch back to FC10 for a few times, why you ask? Because while I was busy trying to fix various problems, other people were busy trying to break into my computer. I know this because somebody sent messages to everybody in my yahoo contact list. Very embarrassing. The funny thing is that a few months back, there was a whole issue of Linux magazine devoted to security, but I thought it was too boring and proceeded to read the issue about ‘Cool Projects’. After the incident, I stopped everything else and focused on security. But that deserves a separate post of its own.

Share it!
This entry was posted in Projects and tagged . Bookmark the permalink.

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">

[keycaptcha]