Comparing Fedora and opensuse
I ran fedora 17 for a while on my test machine. I have since replaced that with opensuse 12.2 Beta2. Before my memory fades, here’s a comparison of fedora 17 and opensuse 12.2. When installing fedora from the DVD image, I chose to install KDE, Gnome, LXDE and XFCE. Those are the same choices that I make with opensuse. Of course, I don’t really use all of those. Mostly, I use KDE and experiment with the others. On my test machine, I use XFCE because it is a little lighter in weight for the older slower hardware.
For most of what I do, the differences between fedora and opensuse are minor. Opensuse users would not have much difficulty adapting to fedora, and vice versa. The biggest advantage of opensuse is Yast. The most favorable for fedora is the ease of configuring WiFi networks with NetworkManager.
The menus are a little different, but not so different as to be a problem. The biggest difference that I noticed there was with XFCE. Fedora uses the XFCE defaults, while opensuse puts its own branding. So with opensuse, the XFCE desktop has a single panel at the bottom with a reasonable initial setting. With fedora, on first login you are given a choice between the default panels or a single empty panel. I initially went with the default, which was a panel at the top and a second shorter panel at the bottom. I later decided to junk that and start over (deleting configuration settings in $HOME), and went with the single empty panel, which I then populated to my liking.
The most serious problem that I had with fedora, was that the window manager component of KDE seemed to die when I opened the first window. That also happens with opensuse 12.2 Beta2. It appears to be a problem with the ATI radeon graphics on my test system. Setting XLIB_SKIP_ARGB_VISUALS=1 in my environment avoids this problem, so I set that in the shell startup scripts in my home directory.
Setting up the desired partitioning during installation is reasonably straightforward for both fedora and opensuse. Both installers noticed that there was a LUKS encrypted partition, and asked if I wanted to give the key. And then both went ahead and told me how they wanted to scrap everything and start over with the partitioning. Both had options to edit the current partitioning to the way that I wanted it, and this allowed me to keep the encrypted LVM that I have been using.
The biggest difference was that Yast installer of opensuse has an option to import the disk setup from a prior installation. That’s a big advantage, and is one that I value in opensuse. Another advantage to opensuse, is that I can configure NTFS partitions to be mounted. There is no provision for NTFS partitions with the fedora installer, though you can edit “/etc/fstab” after installation.
Selecting which software to be installed is fairly similar in both systems. You select a group (such as a desktop), and then you can tailor which components of that group you want to install. This is easier to use that the software selection I found when experimenting with arch linux, where I was confronted with a huge list.
There is still a difference between fedora and opensuse, and it favors opensuse. With fedora, if I click on a software group, I see an empty list of components. I have to actually select the group before I see which components are in the group and which are automatically selected. With opensuse, I can click on the group to see the list of components. Then I can select the group and see what was automatically selected. This is a bit more flexible for looking around to see what the software groups contain. Ring that up as another advantage of Yast in opensuse.
Setting the hostname
This one is a win for fedora. The installer prompts for the hostname to use for the system. If there is a way of setting hostname during an opensuse install, then I have not yet discovered it. Usually, opensuse sets a randomized hostname, and I change that to what I want after the install.
Both systems use NetworkManager. However, the setup is a lot easier with fedora. This is mostly a difference in permissions, as managed via PolicyKit. The fedora permissions allow any user to setup a connection that is shared with all users (the KDE applet calls this a system connection). The opensuse permissions require the root password for such a shared connection. With earlier opensuse versions (11.4 and earlier), you could setup a personal connection without the root password. However, the current versions of NetworkManager treat a personal connection as if a shared connection that is accessible by only one user. So the connection details are stored in a system wide location and the root password is required to change them.
With fedora, the connections are still stored in a system wide location. However, PolicyKit is configured to allow all users to setup such connections without a root password.
My personal view is that the opensuse is too restrictive, but perhaps fedora is too lenient with wifi connections. I tried to go with a happy middle, as indicated in an earlier post. With the modifications suggested in that earlier post, users who are in group “network” can freely configure system connections, but other users would have to give the root password.
I have already mentioned security issues for WiFi, so I won’t further comment on those. The biggest difference between the two systems is that fedora uses SELinux, while opensuse optionally offers AppArmor. I have rarely run into problems with AppArmor. I did quickly run into problems with SELinux. Some of the SELinux problems disappeared on a reinstall from the DVD image – apparently the live KDE install doesn’t handle them as well. And most of the other problems with SELinux disappeared after I had run the software updates to bring the system up to date.
The firewall is similar enough in the two systems. Again, I had some initial problems in fedora after a live KDE install, but those problems did not arise after an install using the DVD image.
The permissions in “/var/log” seemed a bit too restrictive. With fedora, only root can read “/var/log/messages”. Opensuse is a bit better, in that members of the root group can also read that file. I put myself in the root group so that I can read it. My personal preference would be for “/var/log/messages” to be readable by all users.
Fedora offers to setup the initial user to be an adminstrator. This amounts to putting that user in the “wheel” group. And then polkit authentication requests are for the password of the administrator rather than the root password. Opensuse does not do this, though you could do it yourself using the “Global Policy Configuration” applet in the KDE settings.
Fedora allows any user to run updates. With opensuse, an administrative password is requested. However, fedora does request a password for adding new software. It can be the password of the adminstrative user, but even that user is required to enter the password before new software is installed.
This is a big win for opensuse and Yast. The “apper” application in fedora did not handle it well. It would fail if asked to apply more than around 100 updates. So I had to select a bunch of updates, but less than 100. Then I would apply those. Then I would have to reboot before apper would start working properly again.
Strictly speaking, I have not done any updates with opensuse 12.2, since it is not yet released. Judging by prior releases, both Yast and zypper can handle massive updates without problems. If I were to use apper in opensuse, it is possible that I would run into similar difficulties.
Installing new software with apper seemed to work pretty well. I assume that if I installed a large number of packages in one session, I would run into a similar limitation of apper.
A final note
Fedora defaulted to using gdm as the desktop login manager. When I logged into XFCE, I found that there was no gpg-agent available. If I checked to option launch Gnome services on startup, I would then have a gpg-agent available. However, that also caused orca to run, which soaked up a lot of resources. As a result, KDE used less resources than XFCE.
I disabled the “launch Gnome services” so that orca would not start. In looking at running processes, it seemed that gpg-agent was actually running but there was no environment setting to make that available. I was able to put something into shell startup files to locate that agent and set the environment correctly. And, since the shell startup files are run at the beginning of the desktop session, that made gpg-agent available to the desktop.
With opensuse 12.1, I recall that I also had to have XFCE launch Gnome services to have gpg-agent and/or ssh-agent available. But at least that did not start orca in opensuse. I have not tested that with opensuse 12.2, where launching gnome services appears to be the default.