8

I've been on Ubuntu Server for the past several (5-ish) years, but I am seeing a lot of jobs that are looking for RHEL or CentOS experience.

What differences, aside from package managers (dpkg/apt/.debs vs yum/.rpms) do I need to be aware of if I were to walk into a RHEL/CentOS/Fedora environment?

1
  • 2
    Note to Mods: I would prefer that this stay on SF than be migrated to Linux/Unix community.
    – gWaldo
    Jan 18, 2012 at 0:09

3 Answers 3

14
  • RHEL/CentOS uses SELinux quite extensively. Ubuntu has AppArmor as stated earlier.
  • RHEL/CentOS has by default much less software available than Ubuntu; you may need to add repositories such as EPEL, depending what your server needs to run.
  • RHEL uses more traditional way for booting and managing services, Ubuntu uses upstart.
  • RHEL has more comprehensive packages for advanced stuff such as identity management & auditing, clustering, GFS and virtualization than Ubuntu. They are available in Ubuntu as well but require more tuning (IMHO).
  • RHEL might or might not get better support from 3rd party software vendors, depending on what your server needs to run. Some obscure proprietary enterprise software is more often than not only tested with RHEL and/or SuSE Enterprise Linux. Using something else makes them say "We won't support that, if you encounter any problems, we will blame your $linuxdistribution".
  • Automated, unattended installs are quite easy with RHEL and Kickstart. Ubuntu has limited support for it, too, but in large server farms Kickstart is very commonly used.
  • Ubuntu gives you more choice for what file system you use. For example, RHEL just recently got official support for XFS, before that you had to compile your own kernel (or possibly use one from EPEL repository).
  • Ubuntu uses sudo and disables root account by default. RHEL has traditional root account (and SELinux roles, if you want).
  • Network configuration is different. Ubuntu has /etc/network/interfaces, in RHEL you modify /etc/sysconfig/network-scripts directory.
  • Several other configuration files are located in different places compared to Ubuntu. For example, Ubuntu has /etc/default directory for many daemons, RHEL has /etc/sysconfig.
  • Some package names do vary; already mentioned here is apache2/httpd difference.
  • Your default bash prompt will look different in RHEL, and if a desktop environment is installed (not that servers should have), you have a different icon set and background compared to Ubuntu. ;-)
1
  • Excellent answer!
    – gWaldo
    Jan 18, 2012 at 14:47
3

The difference I have noticed most, based on SF questions is that the apache webserver package is called httpd, instead of apache2. Related to that, /etc/sysconfig/httpd controls the worker module. Furthermore, there is no sites-avaiable and sites-enabled directories.

I put my configs in /etc/httpd/conf.d/*.conf, typically named after the site I'm configuring.

2

(Disclaimer: this is based on what I've seen on old versions of SUSE and Slackware; all the Linux systems I'm maintaining at the moment run Ubuntu.)

Ubuntu uses a variation of the Debian superuser protocol; Red Hat-based distros (AFAIK) still have a root user and root password.

Service control scripts are probably going to be in /etc/rc.d instead of still in /etc/init.d, but you probably won't find an Upstart daemon.

Log locations are variable even within different releases of the same distribution, so I can't offer any advice there.

2
  • /etc/init.d contains exactly what you would expect it to. Jan 18, 2012 at 3:14
  • Ah, that must be a Slackware thing then. Amending...
    – Andrew
    Jan 18, 2012 at 3:47

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .