Linux: Migrating Slackware to Fedora Core 4

Finally made the switch from Slackware to Fedora Core 4. So now I’m discussing my irrational fears, my thought process for why I held back, and the real scoop of what happened when I transitioned….

This last weekend I migrated from Slackware to Fedora Core 4.

Let me start off by saying I grew up on Slackware when it was a brick of 20 floppy diskettes. I liked the complete and utter power of being able to hand compile anything specifically for my processor. I like that it didn’t bring with it a lot of bloat. I liked having my custom installed applications, data, and logs in /usr/local; this way if I upgraded, all my personal software stuck around. I had hand rolled Apache, PHP, and MySQL, setting our server exactly as I wanted it. I used sendmail, and bind, and a number of other packages. We had nearly every modern programming language out there. Silently, I’d look down my nose at anyone would relied on a package manager when the commands to build anything were usually: ./configure ; make ; make install

But all this fine-level granularity came at a price… it was a bear to maintain. Keeping up with all the service releases, security patches, and new updates was complicated, tiring, and difficult. Often a package would get upgraded that had horrible domino effects down the line, usually ending with some other package that wasn’t ready. It was this kind of insanity that lead to the ongoing myth that PHP5 won’t work with Apache2 (it does… we’re doing itit required nothing special). Things fell behind, we couldn’t keep up.

See, I wanted use my system, not become a slave to maintaining it.

What held me off from switching distributions? Comfort level with what I knew, fear that going over to something Red Hat and corporately managed based was selling out on my principles, and the knowledge that the file system would have things in different places. This would have great manual consequences for porting our web over, and, admittedly at this date and time, there’s still bits and pieces needing tweaks.

The Reality
It turns out a total system rebuild with Fedora Core 4 wasn’t so bad, the installation is actually quite simple. Using the yum utility, which has a graphical version as well, it is possible to keep the system perpetually up to date by issuing: yum upgrade ; yum clean all

Every installed application gets patched to the latest version. Yum can also install packages, or, if you like, you can still hand roll source code yourself. I lost nothing, and gain far more!

Maintenance is just as easy with webmin, a web-based administration program. At that point, general system administration is a cake walk. I was pleased to see Apache2 with SSL, PHP5, the latest MySQL, and a ton of modules I’d have to coax into working are just standard now. For mail, we’re using postfix (a drip-in replacement for sendmail that’s secure, easy to configure, and has tons more features) and dovecot, which made it easy to add smtp-before-pop, procmail, fetchmail, SpamAssassin, and SpamProbe. Getting SSL/TLS as well as SquirrelMail to work was easy. Manging complex firewall rules is a snap!

And, to top if off, every evening I get a security report showing me problem areas of the system that are needing my attention.

Lessons Learned
So, what changed…? What made my life difficult…? What would someone else going through this face that I could pass on some advice?

Well, first of all, I did a lot of work in /etc/rc.d … and it took a little getting used to that everyone now has scripts for everything. The big treat was learning that /sbin/service service_name command was much easier than hunting processes down by hand. Even nicer was /sbin/chkconfig service_name on|off|reset could control boot time configurations, no more editing. Even then, /etc/rc.d and /etc/init.d have the real meat, while everything seems to be controlled by symbolic links.

And, while /usr/local still lives on, Apache’s binaries are placed with the system’s resources, the configuration lives in /etc, as do other application’s config files (and even these are busted out into smaller, manageable pieces), and the content, logs, and things that change live in /var. For as much as I initially disliked the idea of an application being split all over the system, I have to say I have yet to have a problem finding anything. Even better, most configurations are similar now.

I did run into a kink when trying to install pine, it wasn’t in yum’s packages. And, while I could download the source an install it, I wanted to do it the maintainable way. That turned out to be quite simple by simply adding a resource for yum to use. And, according to The Perfect Fedora Core Setup page, adding apt gets you most everything that isn’t in yum.

The hardest part was overcoming the file permissions. We used to have users belong to a group called ‘users’ — however, now each user has their own private group. It hasn’t gotten it the way, but it did mean we have to go through an educational phase, letting users know that when they beam up a file for the web server, they must also give it permission to read it.

Aside from that, the change over was far less painful than I imagined it would be. And, I can’t believe I’m saying this within that than a week, I really think I like it more.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.