What are RPMs?
RPM stands for Red Hat Package Manager. This allows for the easier and quicker deployment of files. RPMs create a standard for installation of how different pieces of software are installed on a system. This software can be anything from wget to Perl or Python. Instead of building files from source, RPMs come prebuilt. RPMs also allow for easier updating of systems.
Why is cPanel & WHM Switching to RPMs?
For much of its early history cPanel & WHM was used on a number of different operating systems (FreeBSD being one of the biggest Outliers). Many of these operating systems put libraries, and other assets, in dissimilar locations. For application distribution, the lowly source tarball was the common denominator. Over the years, as cPanel & WHM bundled more and more third party applications invariably they were distributed as source tarballs, built on demand during product installation and upgrade.
As the web hosting market matured, we saw a significant shift toward operating system consolidation, specifically toward Red Hat Enterprise Linux and its chief variant and major market share holder, CentOS. With this change, it became more viable to ship applications using the RPM package format. Providing pre-built applications via RPM allows us to improve the overall quality of cPanel & WHM.
How does this change benefit Server Admins?
Server Admins benefit in the following ways:
1. Benefits come from the moment you install cPanel & WHM. On average, installation time is reduced by 30%. This is due directly to shipping Perl, and all necessary CPAN modules, via pre-built binary RPMs.
2. Future upgrades will also see a reduction in time as all new applications will be provided as pre-built binary RPMs. It was a rather common occurrence for applications to be rebuilt during upgrade. This is no longer a possibility.
3. Installation and upgrades will be of higher quality. Automating source builds across thousands of machines, which often are customized by their owners, is a difficult and error-prone task. A notable percentage of our support tickets generated by installation and upgrade errors stem from applications failing to build. Using pre-built RPMs we can remove an entire class of errors, plus improve our pre-installation checks to detect problems before they occur.
How Are Updates Changing?
The update process is changing two significant ways:
1. All files needed by cPanel & WHM are downloaded to a staging area.
2. A variety of tests are performed, such as RPM dependency checking, prior to installation
Once all tests pass the product is updated. This two-step operation results in improved experience with both product installation and updates.
When are you going to move everything else to RPMs?
The move to RPM distribution began with cPanel & WHM 11.30. With that release, we changed our RPM distribution system, introducing the RPM version system, and overhauled our update system. With cPanel & WHM 11.36, we take a further step forward by providing a number of third party applications via RPM. Chief of these is Perl 5.14.
Future releases will see further applications provided via RPM. For example in 11.36 the webmail applications are still provided via source tarball. Changes will also be made to EasyApache, as new features will be delivered via RPM.
Now that you are using a packaging format, does this mean you will soon support Debian or Ubuntu?
Not yet. While switching to RPM for application distribution does simplify some aspects of supporting Debian and its variants, cPanel & WHM is still very much a Red Hat-centric product. Many of the core behaviors and assumptions built into cPanel & WHM are formed around how things work and behave on a Red Hat Linux system. There is nothing definitive in place for a progression towards a platform that supports a larger variety of Operating Systems. We can state that it does have potential and it’s an avenue we continue to explore.