Fedora Desktop and Computing

Fedora 18 was released this week and I finally got around to installing it today. To be honest, on either my laptop or desktop I have not really used Fedora much since Fedora 14. I have been incredibly happy with CentOS for over a year and a half now, and I (begrudgingly) accepted Windows 7 on my laptop.

Today’s installation of Fedora 18 made me question my use of time. I switched jobs exactly 2 years ago and found myself in the precarious position of having little to no spare time. I tried my best to optimize. Giving up dual-booting in favor of virtualization (VirtualBox and KVM) helped greatly. However I could never get Fedora18 beta or RC to boot up inside KVM. But that wasn’t the problem that bothered me. Re-running through the installation multiple times using the new Anaconda installer just got me tired of trying to understand a poorly thought out workflow. I kept questioning myself if I had in fact selected the correct options. I don’t think I would ever install Fedora 18 on some of my more complex dual-boot setups in the past.

To be fair for a clean install on a new computer for most people the installer might be a joy, but for me it just wasn’t. I’m not really complaining. I have multiple computers running some form of Linux or if I must, Windows. My existing setup works fine for me. However I just don’t think Fedora’s goals and my needs line up anymore.

I was reminded of this when I was reading Richard WM Jone’s blog post on using Fedora 17 on a Chromebook. The first bullet point is what gives me pause:

Suspend pretty much doesn’t work.

I too own a Chromebook and just like many others I have quite a few things I dislike about, but where it never fails: power management. It suspends and starts up in seconds, lets me do my browsing/work and then I can close the lid and forget about it. The last time I had this experience with a laptop was with Fedora 9. After so many years, I’m disappointed problems can still exist for power management. My desktop CentOS suspends and hibernates perfectly, so I know things can be made to work, but I just don’t have the time to find out how.

Outside of work, I spend most of my time on my Android smartphone. Occasionally I monkey around with a tablet, but the Chromebook is incredibly nice for quick tasks. And then when I have the dedicated time: I will use my desktop or laptop for more major work. What do all of these devices/setups have in common? – Answer: they don’t change much. As we all know, change is the heart of Fedora – the latest and greatest software. I commend the Fedora team and all the volunteers who manage to somehow keep it all together.

If ever find the time, I would love to come back to Fedora. I finally got it working in my Virtualbox and I’ll write up some of my notes eventually. If you plan on installing Fedora 18, the official Fedora Installation Guide has evolved amazingly. I highly recommend reading it.

CentOS Desktop

I’m migrating away from Fedora as my desktop operating system. I’ve been testing CentOS 6 which was released recently and I feel I would be much more efficient using it instead of Fedora.

I still have quite a few quirks to resolve, but I have no doubt I’ll find the solutions.

I bought a new desktop some time ago with the intention of running virtualization, so I plan to still test and use Fedora time to time, but I can no longer keep up with the rate of change. If things stabilize to some degree I might come back, but for the time I am quite content with CentOS.

People are still welcome to contact me regarding Fedora stuff and any of the content on my site. I will do my best to support it.

Downside to Enterprise Linux

(Note: For the purpose of this post CentOS is equivalent to RHEL)

It has been about 2 and 1/2 years since I built a dedicated server and chose CentOS instead of Fedora. Since I installed CentOS 5.1 I have used the upgrade process 4 times with no problems bringing me to version 5.5 with practically no re-installation, re-configuration or troubleshooting upgrade issues. This is the goal of enterprise linux. A long term stable solution with no major changes to preserve compatibility with every piece of software that was provided since it was released (in this case April 2007). In the time I’ve been on CentOS I’ve upgrade/replaced Fedora at least 5 times on other machines. Each time learning the changes to software, languages, security and many other components.

I’m very pleased with CentOS knowing that after the next yum update all my software will keep working. And everything is 100% secure.

However the exact reason enterprise linux is so great is also the exact reason why it can be a major pain. Once a main component is locked down, Red Hat will not provide updates unless needed for security or stability.

An objective for my server was for web development. The state of web as defined in 2007 when RHEL was created is coming close to obsolete. CentOS 5 includes PHP version 5.1.6. However PHP 5.2, which was released before RHEL 5, has become the default standard requirements for many PHP applications. I was updating some code to utilize JSON when I realized I would have to deviate from standard updates to install PHP 5.2 on CentOS. (This wasn’t too bad)

Another objective was a file server and backups. I’ve been playing with DropBox (*) as means of an off-site backup solution. What makes it great is it’s support for Linux! Even text-based linux which is what my server is. However the first requirement is Python 2.5. CentOS uses 2.4, and you can’t do a major update of Python in a CentOS/Fedora install without breaking many things since this is a critical component. You can do a parellel install for Python 2.5 but this is a bit annoying to maintain as you have 2 versions of python installed. (I have yet to get Dropbox working well on my server)

I also have been writing C++ software using boost. I recently realized the asio library was standard in boost 1.37 and later. I was locked to 1.33 in CentOS 5. No big deal since, the boost package was not critical for me in CentOS and it could be easily replaced. So I decided to recompile a newer Fedora boost src.rpm. However I would see errors like this:

error: unpacking of archive failed on file /home/mirandam/rpmbuild/SOURCES/boost-1.41.0-iostreams-zlib.patch;4c7880e5: cpio: MD5 sum mismatch

The above error is simply because Fedora 12 changed the RPM compression algorithm used and rendered older versions of RPM incompatible with newer packages. I don’t dare meddle with RPM as it is a core component, so I ended up compiling an older Fedora 11 version of boost 1.37 src.rpm which did the job.

Overall I’m still happy with my setup, but slowly I’m spending a great deal of time patching different pieces as my needs have slowly evolved. Interestingly Red Hat recently announced extended support lasting up to 10 years. That seems way too long considering the state of software (although everyone still uses Windows XP – now 9 years old).

I’m getting a little antsy running 3 year old software. The good news is that RHEL 6 is in beta, which means that soon after release the totally free CentOS 6 will follow as well. Which I’m eagerly waiting for, because all my issues will be addressed … at least for the time being.

(*) Affiliate link – I highly recommend Dropbox.

Stable Release Updates in Fedora

If you missed it there seems to be yet another debate going on about updates in Fedora. I don’t intend to rehash anything. Josh Boyer has a bit of an op-ed post which I think is a good read.

Think of the issue in a simple scenario:
Should Fedora 12, which was released in Nov 2009 with KDE 4.3 receive the recent KDE 4.4 update? Or should KDE 4.4 be reserved for Fedora 13 which will be released in June 2010? And who benefits or loses in each of those options?
(In case you don’t know, KDE 4.4 was available as stable update at the end of February).

My personal opinion is that it really does not matter FOR ME. I do not mind 4-6 month wait for software. (BUT Some people are impatient) And on the flip-side if I get a massive problematic update, I am experienced enough to work through it. (BUT Some people are total newbies)

I read the Stable Release Updates Vision, and the only thing I can express is surprise. I don’t know if Fedora as it exists will accommodate this or if it can work out as envisioned. I would think this puts more responsibility on the contributors (who are mostly volunteers).

I would love to see more stability in Fedora, but I don’t know what the fair cost should be.

Please read the Updates Vision and if you partake in this debate please be considerate of the many different types of users and contributors involved in Fedora.

All-In-One Configuration Tools

As I mentioned previously, I run many sites on my web server. Yesterday I decided to clean up some sites that their owners had neglected or not used. One such site was running Apache Tomcat Java Server, which I did not care to leave running.

Now I, like many users of commercial hosting plans, pay for cPanel/WHM which includes a myriad of options/configurations/settings to do almost everything on the server. Back in 2007, I had used the cPanel Addon to install Tomcat. It was an incredibly easy “1-click Install”. I never checked, but I just assumed it worked. Similarly I thought it would be just as easy to uninstall Tomcat. I clicked “Uninstall” and all went well and I didn’t see any immediate problems. Or so I thought …

Last night the Apache Webserver failed. I did not realize till this morning (6 hours later). After some digging I found that it was because Apache could not find some Tomcat/Java module. So much for a proper uninstall. I did not have time to debug the issue, so what did I do? I simply re-installed Tomcat. I just could not afford any more downtime! … I know, I know: Shame on me!

This incident is like many commonly seen in the Linux world: An all-in-one graphical configuration tool can do wonders, but somewhere due to interaction between components it can causes all sorts of unforeseen problems. The root problem here is that it is incredibly difficult to know all the intricacies and nuances for administrating multiple software systems. Add to that the occasional need to manually edit config files, and you create an unmanageable mess.

Do you remember linuxconf? … Back in the day (pre-2002) Red Hat included a configuration tool called linuxconf which could manage multiple system options using a variety of graphical and non-graphical interfaces. While this worked wonders for novices performing simple tasks (mounting disk partitions, adding users, setting network addresses), it caused all sorts of issues for more complex services (web server, mail server, samba). Unfortunately at that time, there were very few complete comprehensive tools for configuring complex servers. Users who got burned using linuxconf, eventually learned that the only guaranteed way to setup things was to read man pages and documentation, and then editing config files manually.

Redhat did eventually abandon linuxconf with RH8.0. And while many users did complain, ultimately it was a smart decision. Software projects cannot be held accountable if some 3rd-party tool mangled their config files. Even more importantly, how can someone be certain the tool made the change they requested without looking at the config output? You can’t.

Sadly even though I expected cPanel to do its job (considering it is not free), I should have been more careful on a live production server. While I’m not saying that every single “all-in-one” tool is a failure, I am saying that trusting any tool without validation is a very poor choice.

Change of Direction

In certain scenarios I am a little skeptical of Linux and open source applications as worthwhile competitors for closed source or proprieraty alternatives. This is not to say I do not think that there is any lack in potential. In my opinion I do disagree with some choices made by open source projects or linux distributions. In any event the point of this post is not to argue any of that. I was reading a post claiming that Linux needs critics, and I do agree with this. The nice thing the author points out is there is a difference between a complaint (negative) and criticism (positive).

I don’t think I have ever really made any constructive criticism of Linux or Fedora. Unlike the author who wrote the above post, I am a software developer. I could try to help more instead of complaining. (I have complained a lot.) I have never submitted a patch or even filed a bug report. I have probably spent more time trying to get an older unsupported version of software working than I have trying to help with the shortcomings of the newer version. This, I will admit, is quite counterproductive.

For the things that I feel are important I plan to try a bit harder – slowly but surely.

Personally I still feel that Linux and open source will never be a complete solution for all my needs, but whenever possible I hope that with some effort it will be.

Wikipedia Migrates from Fedora to Ubuntu

The admins running Wikipedia are almost complete in migrating their servers from a mix of RedHat and Fedora to Ubuntu. The primary reasons behind the switch, according to Brion Vibber (Wikimedia CTO), were personal preference, Ubuntu availability on the desktop and better support/stability compared to Fedora. As a server, one might think that an enterprise option like RHEL or CentOS might make for a better choice, however both of these lack the appeal of Ubuntu and the flexibility in support.

Regardless of the reasons for the switch, this is another opportunity for people to question Fedora’s fast moving development pace (i.e. “bleeding edge”). Fedora user know that Fedora requires constant updating/upgrading and Fedora developers are obviously quite accustomed this and welcome it. An interesting thread on the Fedora development mailing list raised this topic and spawned a great deal of discussion. Some users/developers think that if Fedora provided a LTS stable release then perhaps situations like Wikipedia’s could have been avoided. Jesse Keating, Fedora Release Engineer, chimed in with a very well worded point:

Given the amount of churn we allow maintainers to introduce into our
“stable” releases, I highly doubt Fedora would be suitable for any
situation where a “LTS” was desired. There is just too much major
version upgrading
, behavioral changes, massive amounts of updates,
rapidly invalid documentation, and high chance of regression in the
“stable” updates. We should address *that* problem before ever thinking
about extending the life.

Even if Fedora could address that problem, big organizations most likely won’t change their opinions. However if those issues could be addressed, many users probably wouldn’t be migrating away, and more importantly they would just have a much better operating system!

(As a personal point, I no longer use Fedora as a server. I recommend CentOS.)

Firefox SSL Certificates

Using Firefox 3. Very simply, I know that Redhat’s main website (https://www.redhat.com) works perfectly fine. However when I exclude the “www”, and go to the same website: https://redhat.com, apparently something is wrong?

I see Secure Connection Failed. (Should I be concerned???)
So I click the “add exception link…”
… which turns into button …
So I click the “Add Exception…” Button
… which opens a dialog
So I click the “Get Certificate” Button
So I can enable the “Confirm Security Exception” Button, so I can click on that.

Who is the genius who came up with that work flow?

Is this misleading? Confusing? I wonder … but you decide for yourself.

I will simply say it is annoying as hell.