Check out my experiences in the Linux world. Stay tunned for updates/reviews!

Thursday, May 5, 2011

How to painlessly switch from Ubuntu to Fedora

Ubuntu and Fedora are arguably the most popular Linux distros out there today. They both make a huge impact on the Linux community release after release, but are somewhat opposite philosphies at times. Fedora, the RedHat-sponsored community project is adamant of RPM packages, while Ubuntu is based on Debian and therefore uses DEB packages. Fedora maintains that RedHat corporate environment vibe to it, more like a specialised distro, the perfect choice for developers. Ubuntu, on the other hand, based its strategy around creating "Linux for human beings", a friendly desktop environment that is accessible to all kinds of users.

One of the common things they had up until their latest release was the default desktop manager of choice. Both offered GNOME as their main option, along with fairly good implementations of KDE and other alternatives. Unfortunately (or fortunately, depends on how you look at it), that is no longer the case. Come their April/May releases Fedora will become the flagship implementation of GNOME3 and GNOME Shell, while Ubuntu will step into uncharted territory with its own developed Unity interface.

It is clear that many will reject both and stick with other distros which remain loyal to classic GNOME2.x. It is highly unlikely that many Fedora users will reject GNOME Shell to embrace Unity, though, but not so much that some Ubuntu users shall decide to ditch Unity to use GNOME3 and GNOME Shell instead. Because Fedora is currently the best and most current implementation of GNOME Shell, many are already attempting the switch.

"NO BIG DEAL, IT'S LINUX AFTER ALL..."

Indeed, Ubuntu made a big impact on the Linux World and, for many of us, it was the host that introduced us to the exciting "Free as in beer and free as in free speech" OS. Users whose Linux experience is limited to Ubuntu and its derivatives may assume switching to Fedora should be smooth sailing, but that is not exactly true and can lead to frustration in the long run.

Fedora and Ubuntu are in fact different in many ways, so I wanted to provide a few guidelines which may help those of you making the transition. Please note that these guidelines are (despite the length of this article) somewhat high level. I limited the scope to a few areas that I consider essential for desktop users, which boil down to:

Considerations before installing

Sudo, Su and Root

Add/Remove Software: RPMFusion, GPK and yum

Make yourself at home

GNOME Shell tricks and customization

Hardware support and troubleshooting

A bit about SELinux

So without further ado, let's get to it.

CONSIDERATIONS BEFORE INSTALLING

First thing to keep in mind: It's always a good idea to make it a progressive transition. If you made the move from Windows to Ubuntu in one radical jump, I am sure you got your fair share of frustration as you learned the hard way. If, on the other hand, you kept Windows alive and only moved to Ubuntu when you were confident you had everything you needed, learning one step at a time and keeping a fully functional system available, things were probably smooth and satisfactory.

Once again, Fedora and Ubuntu are siblings, but they certainly are different in many ways, so you don't want to trash a solid Ubuntu installation to install Fedora. Anything from installing Fedora on VirtualBox to doing so on a USB drive (recommended) is better than attempting to jump with no parachute.

SUDO, SU & ROOT

One of the first things that will feel different to Ubuntu, which is a pretty fundamental change, is the fact that Fedora does rely on the root account for administrative tasks. As a result, you will be asked to assign a password to root as part of the installation process and only when you boot for the first time, will you be asked to create standard user accounts.

The default Ubuntu installation includes a disabledroot account, encouraging the use of sudo for all things administrative. In other words, an administrator can do pretty much anything using her/his own password, both from the CLI and from the GUI. Some claim this is a security issue (perhaps you have read one of those endless discussions on su versus sudo?). On the opposite side of the spectrum, Fedora sports an active root account while disabling all kind of default sudo access.

What does this actually mean for an Ubuntu user landing on Fedora soil, you may ask? Well, impact varies depending on the interface in question. Command line users will notice quite a significant difference, being forced to impersonate themselves as root every time they need to complete an administrative task. The GUI impact is not as obvious, but might still get a bit confusing for users with an administrator profile, for they will be asked to enter their own or root's password depending on the task to be completed.

In terms of system administration, limiting administrative rights to the root account is obviously not as flexible as managing a sudoers list, but it is probably more secure and less prone to human error. Ultimately, both approaches have pros and cons, the most important thing is that both are available regardless of whether you are using Ubuntu or Fedora.

Let's see how it works with some real examples:

To become root, one needs to use the su command, as follows:

su root or su -

From that point on, the end user would be on a root bash session, sitting on root's home folder, etc. Of course, becoming root is not a good idea unless it is strictly happening for very specific administrative tasks. In other words, you should not become root for day to day tasks, even if that feels more convenient at times. There also is a way to use su for a single command:

su -c 'yum update'

Such command would still require root's password every time it is run, but would preserve the user session as it was. We will see what that specific command does shortly.

ADD/REMOVE SOFTWARE: SYSTEM UPGRADE

Alright, you have now installed Fedora and understand how to perform administrative tasks, next stop is to install your favorite applications and make yourself at home. Unfortunately, Ubuntu's Software Center or Synaptic are nowhere to be found, apt-get does not work and even after finding a way to install things, you can't find the applications you are after... What do you do?

First off, it is always a good idea to update your system to the latest, most up to date version. In order to do so, you have a number of options. On the GUI side of things, there is your typical Update Manager, labelled Software Update under Applications > System Tools. If you are the CLI kind, it's time to get to know yum. Ubuntu users will be familiar with apt-get or perhaps aptitude commands. Fedora users use yum instead, which I find better in some ways. To learn more about yum, type the following from a terminal:

yum --help | less

That's about as much as you will be able to do as a standard user. Updating your system will require admin rights, I usually do it like this:

su -c 'yum update'

See? We now understand what that command I mentioned earlier was meant to do.

ADD/REMOVE SOFTWARE: RPMFUSION

One of the steps that is going to satisfy standard users the most in the long run is the addition of RPMFusion repositories. Fedora users are lucky to have RPMFusion, which includes a huge catalog of software and lowers the need to add as many PPAs as Ubuntu users are sometimes forced to. On top of that, Fedora users enjoy very current software in general, as opposed to the Ubuntu policy of freezing applications for every six month release window.

From RPMFusion own Website:

"RPM Fusion provides software that the Fedora Project or Red Hat doesn't want to ship. That software is provided as precompiled RPMs for all current Fedora versions and Red Hat Enterprise Linux 5; you can use the RPM Fusion repositories with tools like yum and PackageKit."

With RPMFusion enabled, it is time to start modifying your system to your heart's content. There are two main ways to do this, from the GUI using PackageKit (labelled Add/Remove Software under Applications > System Tools) or from the command line using yum. The GUI way to do it is pretty straight forward, and while PackageKit is nowhere near as user friendly as Ubuntu Software Center (as shown below), it should be easy enough for any kind of user.

Click on image to enlarge.

As you may imagine, I personally tend to use yum instead. PackageKit is fine, but I tend to do things faster from the command line, specially when setting up my computer for the first time like we are doing here.

MAKE YOURSELF AT HOME

Time for installation frenzy! Behold the power of the command line as I install pretty much everything I need in one go:

I think those few apps make for quite a good start, but in case you want more, you can find a very exhaustive list (albeit in Spanish) HERE. Thanks to the guys at FEDOREANDO for their awesome work through the last couple of years!

GNOME-SHELL TRICKS & CUSTOMIZATION

Ok, The jump from Ubuntu to Fedora can be a bit more difficult nowadays, as both are introducing new GUI interfaces. In my experience, appreciating Fedora 15 has a lot to do with getting comfortable with GNOME Shell. Let's see some things that will surely help in getting used to the latest and greatest from GNOME camp.

Tweak Tool

If you followed the previous section, you should already have Tweak Tool installed. This little application can cover lots of ground and make the transition from classic GNOME 2.x to GNOME Shell less traumatic.

As is the case with many GNOME 3 components and applications, there is a lot of development activity going on at the moment, probably getting things ready for the upcoming Fedora 15 final release. Tweak Tool is no exception, having gone through a few updates in the recent weeks. The latest version includes a five category menu:

File Manager: Turn on this feature if you want to be able to manage the desktop as you used to in classic GNOME (Icons are visible, active right-click, etc.)

Interface: Icon changes, theme changes... All good and fun.

Fonts: Self explanatory enough.

Shell: Clock, date and other settings... You can even bring the minimize button back!

Windows: Window themes, title bar actions, etc.

GNOME Shell Themes

As I mentioned in a recent article, DevianArt's half-left is putting together some very impressive themes, all of which are now compatible with GNOME Shell final. Installation instructions are available on each of them, which you can download from HERE.

GNOME Shell Extensions

A few pretty cool changes that bring back some of the classic GNOME 2.x functionality to the new Shell. Anything from good old Alt+Tab window switching to displaying the Power Off option in the menu by default is included here. You can see a list of the extensions available running this command:

Fedora is not as sleek as Ubuntu when it comes to hardware support. Having both run on the same machine, Ubuntu automatically detected proprietary hardware (My HP2740p Broadcom Wireless card) and suggested the download of the necessary drivers. Fedora would simply show Wireless as not available. Unfortunately, this seems to be an ongoing problem that is impacting other users (see the following Fedora Forum THREAD for further info) and the solutions available don't seem to work reliably. I personally couldn't get wireless to work on that machine.

Similarly, I had problems with Bluetooth (apparently an ongoing bug since F14), which was apparently detected, but not properly working. Here's what I did to fix it (as root):

Given the length of this article, I will keep this one very brief. The idea is that SELinux may have an impact on your system performance. I haven't experienced that in Fedora 15, but did in F14 and specially in F13. If you are experiencing poor performance, you may want to check what the current SELinux status is by using the sestatus command:

Aside from performance issues, SELinux could also be blocking some of the applications you use (I had issues with empathy, as shown above), so if you want to change it to permissive mode as I did, or simply disable SELinux altogether (not recommended), you can easily do it as follows:

gedit /etc/selinux/config

Then simply change the SELINUX value from enforcing to either permissive or disabled.

NOTE: The same can be achieved from the GUI, using system-config-selinux (part of policycoreutils-gui package).

FEDORA IS NO FOE

Previous versions of Fedora suffered a bit from a somewhat poor and not very polished GNOME implementation, which felt a bit archaic when compared to Ubuntu and its derivatives. As the leading GNOME 3 developing distro, Fedora now enjoys a bleeding edge implementation of the GNOME Shell, which, on top of all the great changes coming with Fedora 15, sets the stage for a very successful release.

After testing Ubuntu 11.04 and Fedora 15 intensively in the last few days, I have come to appreciate the latter more and more. While Ubuntu developers have done an incredible job getting Unity (somewhat) ready in just a few months, it still feels immature. In addition, probably as a result of all that frantic development for Unity, Natty Narwhal is one of the less stable Ubuntu releases I remember. Fedora 15, on the other hand, is surprisingly stable for a Beta release.

My choice (at least until Unity grows mature enough) is pretty clear by now after getting to grips with Fedora in the past few weeks. It's a no brainer, really, as I now enjoy the best possible GNOME Shell implementation... and can't say I miss a thing from Ubuntu!

NOTE: Just to clarify, I have kept and still actively use my Ubuntu 10.10 and derivatives installations, I am just talking here about the idea of upgrading or installing Ubuntu 11.04.

I thought about doing so, and it is fairly easy, but then I considered that a bit of defeating the purpose if you are using Fedora. I don´t know I personally like to enjoy both for what they are, as opposed to making one mimic the other. Just a quirky pet peeve of mine, I guess! ;-)

Seriously, though, there are tons of resources on that subject available already, so I am sure anybody can quickly do it should they really want to.

Fedora is exactly what I tried after the big Unity disappointment. But unfortunately I found out that GNOME 3 is not much better. So I looked further and also tried Fedora's KDE spin and so far it is really nice. About a year ago I would never even think about using KDE and now I'm starting to like it so much that I don't even miss GNOME 2 anymore. Funny how times change.

Nice guide. Maybe I'll give Fedora another shot. Ubuntu crashed twice on me yesterday. Does anyone know when the fix for the power bug in the kernel will be fixed? Until then I can't use an up to date distro.

I tried Xfce remix of Fedora 15 Beta (and Fedora 14). From desktop user point of view, default font rendering in Fedora is horrible. I can't quite imagine people with less than perfect vision being comfortable for a long periods of time. On the other hand 'traditional' Gnome is still an option in Ubuntu (and derivatives). Xubuntu is not bad either...

@Koolhead17: Your obviously missing the point here. This article comes as a response to my previous article about GNOME Shell. Several people were interested but acknowledged Fedora was a big question mark for them, thus the idea of creating a guide to make that switch less of a pain for those who want to try.

@JeffHoogland: Well, as far as desktop users go and taking into account all the recent yum updates, I don't think it is such a pain. Presto works well, and with the fastest repo plugin, things are not that annoying in my opinion. Yes, it is generally slower, but if you are on a reasonably powerful machine, you could leave updates in the background while you are doing something else. NVIDIA and ATI drivers can be installed, but it is true that it is more difficult than in Ubuntu... Then again, I did mention that hardware support is not as capable in Fedora.

I just recently made the ubuntu to fedora switch myself, can't say I really like unity and after looking at the way fedora does things and the nature of red hat's contributions to linux I'm quite happy with the switch, fedora feels a bit more mature as a whole.

As for the jump itself, I simply took the leap. Fedora has a brilliant support community and the forums are a great source of information. I would personally also recommend the fedoraplus script available on the forums for initial setup (although you don't really learn much about fedora using it).

thanks for a great article, I think with fedora 15's final release it's going to be a popular read.

I used Fedora for 4 or 5 years then used Ubuntu for the last year or so. Next time I am forced to (Hard drive death etc.) I will switch back to Fedora. I see Ubuntu as a Windows/MacOS user's OS, Fedora is for the more techy types such as programmers like me.

@Chema - No, not yet. We are going to stick to GNOME 2 for a while longer to give GNOME 3 more time to mature. 3 is missing a lot of things that are really important to users, and I wouldn't want them to have to use the GNOME equiv of regedit to change things like their theme. :)

I really wasn't happy with Unity on my Thinkpad T410. I tried to get used to it, but I think I'll have to wait a bit.

Because of your high regard for Fedora I decided to give it a try (for the first time in a long time). I think I like Gnome3 much better than Unity and can definitely see myself switching to Fedora on the desktop.

On a related note, I like apt and debs, but yum is much more flexible. 'yum upgrade kernel-\*' for example... try that on an apt-based box. So RPM may be ugly, but yum makes RPMs much more easy to swallow, and every time I run updates on my CentOS servers I always think how much I like yum (except the fact that it seems to download package indexes way too often!!! hahaa).

one thing i would like to ask is 32 bit fedora better in terms of support when compared to 64 bit? i've been reading lots of forums of late and they all have been screaming it. I dont like Unity and i dont want to shift to another derivative. Fedora has been my first alternative choice.

Thanks for the great article! I've been a Fedora user for some time, and it's indeed very nice and worth to try.

I'd like to comment on some stuff in the article:

- You can configure sudo in Fedora the way you're used to it. If you add your users to the "administrator group" on the GUI. Furthermore, if you don't want to enter a password, you can set that up easily too.See https://fedoraproject.org/wiki/Configuring_Sudo

- The way you mentioned to install Flash only works correctly on 32-bit machines. For 64-bit, check out https://fedoraproject.org/wiki/Flash#Third_Party_Repository

- Actually, RPM Fusion does package a lot of properitary drivers. That includes both ATI/NVidia graphics drivers and wireless drivers and all.

- Instead of 'rpm -i', the recommended method is 'yum localinstall'. Despite its name, it'll work with non-local files too. (And it also resolves/installs dependencies which rpm -i doesn't do.)

- You can change gnome-shell themes with gnome-tweak-tool if you install the gnome-shell-extensions-user-theme package. Then you can use 3rd party gnome-shell themes with just a click.

yeah..desktop font is really horrible. and i hate it whe they don't have max and min button. its a lot easier using that than u have to drag it to another workspace.do you guys know which when have better support for scientific software? especially maths and physics.

I have been using linux for going on 7 years now and I started out using Slackware (Version ?) and subsequently found it was inadequate for what I needed to do. Then I read about Fedora and DL'd FC6 (?). Loved it except for some reason it wouldn't play nice with Compiz, which is what I wanted at the time. So I switched to Ubuntu 7.04 (?) and have been a fateful user since. My last distro update was to 9.04.

I waited and waited and waited for 11.04 to come out because it was supposed to have all these cool things that I wanted (BTRFS + LZO support, GNOME 3, etc). Then this "bologna" came about that Ubuntu was going to use their Unity desktop, and from what I read, people think it is garbage. And so I am about | | this close to switching back to Fedora and found this guide since it has been ages since I have used it.

I am thinking in switching away from Ubuntu, my two alternatives are Debian and Fedora, the only thing that makes me feel not so good about Fedora is its packaging system, I have two bitter experience with it, once with MeeGo (I could never do a system update!) and the other one was Linpus Linux, a fedora based distro.

Can you tell me if YUM is comparable to DEB? or if Fedora has as many apps as Debian has (or close to?).

@Amanj Sherwany: YUM is the package manager. RPMs are comparable to DEB as far as being package formats.

As far as the application available to both, I would say it is fairly comparable, but since Ubuntu is the most popular Linux distro available, I reckon Ubuntu specifically will have things that are not straight forward to install/configure in Fedora, but that's probably more like obscure apps. Most of the popular apps, if not all, are available for both... One plus in the case of Fedora is that apps are constantly kept up to date, so you don't need to do anything extra to get the latest version of your favorite apps.

I received a new Orange Broadband Modem that didn't work for me on Ubuntu 10.10.I formatted everything and installed Linux Mint Katya, it didn't see my modem so I updated system from LAN connection, but after the update, the Mint toolbar was no longer present and if i was starting mintmenu from command line I got all sorts of GTK2 errors.

So I got angry and installed Fedora 15. So no progressive transition for me.I had a lot of problems until i managed to chown and chmod all my Ubuntu folders from the other partition. I did it with su -c 'chown myuser * -R' in each folder.The Orange Modem works just fine.I installed Sun Java, because i have some Java apps that behave very strange with OpenJDK.I'm very happy !

Ah, and i TOTALLY hate the package manager.I can't both filter category and search something in the category.It's a mysterious and bulky app... You better install in command line.I also had a lot of issues with installing GCC from the GUI, but no problem installing from command line.

hi, first off excellent post! I was considering moving away from Ubuntu 11.04 to another distro and your post helped make a decision. I've now installed Fedora 15 and am setting everything up. Previously in Ubuntu I used to use rsync to backup my folders onto an external hard drive and now when I try to copy all the folders back to my home folder on the PC I've come across a permissions problem. Already in Ubuntu I wasn't very well versed with permissions and now feel even more lost in Fedora.I've tried the chmod command viz; chmod 777 /path to/external hard drivebut it doesn't work......the only way I've found to doing it is opening nautilus as root and changing the permissions on each file but that would take me forever! anyway you can help me out with this please? Any advice would be greatly appreciated!

I am guessing your external drive is on EXT3/4, correct? If it was NTFS, for instance, permissions wouldn't apply, something I find hand for my external drives, as I only store media and non-confidential stuff on them.

Anyways, you may want to look at running chmod recursively, so it covers all folders and subfolders in your drive, like this.

I've been a Linux user since I was 15 (22 now), and have tried many distributions along the way. I always kept coming back to Ubuntu, though -- the longest I managed to stay away was a year using Gentoo, but that was mostly a learning experience (a hell of a learning experience), and when I was satisfied what my general knowledge of Linux, I switched back to Ubuntu.

Now, given the direction Ubuntu is taking (less and less configurable, more and more automagical), I think it's time to switch away for real. I'm giving Fedora a chance, and this article of yours has made the process MUCH less painful.

surprised to not see these mentioned throughout-LVM default, installer differences, uid is 500 instead of 1000 in versions preceding F16, firewall is on by default (ufw is not, last I knew) differences in hidden configuration files in the home folder and elsewhere

Great guide! I've used Ubuntu in the past, but always liked Fedora. It just wouldn't always support my hardware back then, so I switched to Ubuntu because of the restricted drivers (I was still pretty new to linux), but since 14 I've been with Fedora all the way.

As with everything, Fedora has pros and cons as well, but I admit Verne is probably the best release to date, significantly improving over previous ones. In my case, after installing some updates, the fast boot process slowed down to a crawl, ridiculous... I checked and other people were having the same problem, but there was no solution to it. I then moved to Chakra, which is also great.

Funny Article.I try to get started with Fedora for years already, as a novice linux user. Screen resolution never works - only small 800x600 screens and no bigger resolutions possible. And for all wifi - as mentioned in this article - can not be connected. I use an usb antenna of Radio Labs.So updates are not possible. So I am looking now to Ubuntu, to join the linux community.Who can give me some advice to change from Fedora to Ubuntu. I downloaded under windows Ubuntu but could not get it setup in Fedora. No 'make' files.

[Who invented the idiot word 'make'. As long as I am running computers it has been a Run command.]Honestly I am big fan of Linux - To break microsoft! - but it will take another 20 years before it gets really user-friendly for simple guys like me (And that's probably the rest of the world.) For normal users, Setups should be (besides manual) automatic and not in a way that you should copy and move files to directories you never have seen or will find. Or put some program lines - as in this article - on places no normal user ever will find how to do.It really is time that you - Linux developers - come out of your caves and see and try to understand the normal bright sunny world of users (99%) who only want a working computer. They want to write some e-mails or do some nice photo-shopping, nothing more.Btw I am a programmer since 1968. Assembler stacks are easier then this stuff.regards herry

It is so easy for us tech-heads to lose track of what the majority of users like and are after... Lots of people will disregard your comments and bash you to no end and tell you go back to your Windows cave, but I think you make very good points. In fact, that´s part of why I write reviews like I do and not from a Linux experienced user... Those are a tiny minority!

Having said so, looking at the bright side, lots of Linux people do listen, and that´s why it is relentlessly improving. Most of what I describe in this article can be done through a UI today, but it´s just faster and more efficient through CLI. In terms of difficulty... well, I guess it´s relative, because all you have to do is copy and paste those commands, that´s it. Having said so, now that Apper has been included in Fedora, I will try to provide more of a GUI set of instructions next time.

Thanks a lot for this. I was a Red Hat, then Fedora user a number of years ago, but then switched to Ubuntu. However 11.04 tried my patience, and 12.04 even more so, so I've decided to try Fedora again. Your blog is a good reminder of what I may have to relearn

David, before you try Fedora (or in parallel), I would recommend giving Xubuntu a try. I have played with it for a few days and must admit I am pleasantly surprised. If Unity is what moving you away from Ubuntu, then don´t give up on it altogether and give Xubuntu a try, really.

I'm trying out Fedora 17...I mainly use Ubuntu 12.04 and I'm pretty happy with it and I thought I'd have a go with Fedora. For all the bashing of Unity and Gnome 3 they really are not too bad. With Fedora I'm impressed with Yum and RPM's! Your article is something I've been looking for. Thanks for taking the time to write it up.

You blog is really good. I just have one request, can you please make UI of your blog more readable. Transparent background with white text is kind of hard to concentrate and it is really distracting in case of long articles.