Since the early 90's most of my Linux experience has been with Redhat or Redhat-derived distributions like RHEL, Fedora, and Centos. As the company I work for is no longer partnered with Redhat to provide training, I am not having to teach as much Redhat system administration. Instead, I'm branching out into other distributions, like Ubuntu, and the subject of my post today: SUSE.
Over the weekend, I signed up for the free trial and downloaded the SUSE Enterprise Linux Server (SLES) 11. This morning, I had the joy of installing SLES. I was very pleased with it's installer. I had issues at first with getting the video resolution to work on the old computer I was attempting to install it on. No problem, the installer has a function key to change video resolution. The installer wanted to partition the internal hard drive, but I wanted to install on to an USB key. Again, no problem, there was a very intuitive and powerful graphical partitioning tool. I'm not sure why it took a couple of hours to complete, I would have thought that installing to a USB Flash drive would have been faster, but that may have been caused by the slow DVD drive.
Now, that the system is up and running, I want to start blogging some of the key differences between SUSE and RH:
RH uses the Gnome Desktop Environment by default and SUSE uses KDE, but both desktops are available in both distributions. The SUSE desktop only uses a bottom panel with a single menu at the left side of the panel that allows the user to access applications, documents, places, devices and their settings easily. It has obviously been customized with a professional appearance. In contrast, the RH systems seem to ship with the standard Gnome desktop.
Both systems distribute software as rpm files, and low level software information can be obtained with the rpm command. SUSE uses zypper as it's front end, instead of RH which uses yum. SUSE is configured by default to allow you to install additonal software from the DVD, unlike RH where that would need to be manually configured. Most of the yum configuration is done in /etc/yum.conf and /etc/yum.repos.d/ directory, which zypper is configured with /etc/zypp/zypper.conf and /etc/zypp/repos.d/.
For installing debug-info rpm packages, RH derived use debuginfo-install and SUSE derived use pk-debuginfo-install. Where RH uses yum provides \*/command to locate the package to install for a specific command, SUSE uses cnf command, or you can zypper search command.
While RH has gone from SysVInit, to upstart, and even is experimenting with systemd in Fedora, SUSE still uses SysVInit. So, for RH you must be aware of either upstart scripts in /etc/init, or whatever systemd uses, and learn a new way to configure services to start. With SUSE, it is still the traditional /etc/inittab, /etc/rc#.d, and the scripts in /etc/init.d/. Both support using chkconfig for easily managing which services will start at which runlevels. They both also have support for the service command to start, stop, reload, and check the status of services. Interestingly, in SUSE, every script in /etc/init.d is linked to a file in /usr/sbin/. For example, /etc/init.d/sshd can be run with /usr/sbin/rcsshd.
RH has moved up to ext4 file system for it's default, and SUSE doesn't have default support for it yet in 11.2, but it is the default in OpenSUSE. For SUSE, the package ext4dev-kmp-default is available as a Technical Preview. I tried to install the ext4dev-kmp-default, but I was still unable to mount an ext4 file system with SUSE.
RH uses SELinux to protect the system against mis-behaved processes, while SUSE still uses AppArmor. I thought that I had heard that SUSE was going to be using SELinux, but there does not seem to be any trace of it. From what I understand, SELinux provides better protection, but is more difficult to configure. Whereas, AppArmor can be fooled with linked files, it is designed to be much easier to use.
Now, with RH you get a notification if you have SELinux Troubleshooter installed, however if have not found an equivalent for AppArmor.
The locate command is not available by default in SUSE, so install the findutils-locate package to be able to use the locate command.