Complete Guide to the rpm.versions System in cPanel & WHM (How to Override Package States – Versions 110 to Latest)

This guide explains how the rpm.versions system in cPanel & WHM manages RPM and DEB packages, how to safely override default package states, how the directory hierarchy works, and how to use update_local_rpm_versions to avoid YAML formatting issues. It includes practical examples and best‑practice warnings.

rpm.versionscPanel WHM, package override, local.versionsupdate_local_rpm_versions

~3 min read · Updated Feb 18, 2026

1. Introduction


The rpm.versions system in cPanel & WHM manages the installation, removal, and updates of RPM packages on Red Hat–based systems (AlmaLinux, Rocky, CentOS, CloudLinux) and DEB packages on Ubuntu. This system ensures that cPanel maintains the correct versions of required packages.


The main configuration file is located at:

/usr/local/cpanel/etc/rpm.versions

Important: This file is overwritten during every cPanel update and must never be edited directly.


To override cPanel’s defaults, use the following directory:

/var/cpanel/rpm.versions.d/

Files in this directory (with the .versions extension, written in YAML) take priority over cPanel’s defaults.




2. File Types in /var/cpanel/rpm.versions.d/


File Description Priority Recommendation
local.versions Admin‑controlled override file Highest Only file you should manually edit
*.versions (third‑party) Plugin or vendor override files Medium May conflict if multiple plugins modify same target
/usr/local/cpanel/etc/rpm.versions Default cPanel configuration Lowest Read‑only



3. Structure of a .versions File (YAML)


All override files use YAML format. YAML is whitespace‑sensitive, so indentation must be exact.

file_format:
  version: 2

install_targets: {}
rpm_groups: {}
deferred_settings: {}
deferred_optional: {}
rpm_locations: {}
srpm_sub_packages: {}
srpm_versions: {}

target_settings:
  pure-ftpd: unmanaged   # Example override

url_templates: {}

The most important section is target_settings, where you override package states.




4. Target States


State Description Common Use Warning
installed cPanel ensures the package is installed Default for most services
uninstalled cPanel removes the package When you do not want the service
unmanaged cPanel ignores the package entirely When you manage the service manually Dangerous: may break upgrades or UI

Warnings About unmanaged:

  • Package will not auto‑update.
  • FTP UI may break if FTP is unmanaged.
  • Unmanaged MySQL/MariaDB can block future upgrades.



5. The update_local_rpm_versions Script


Because YAML is sensitive, cPanel provides a helper script to safely edit override files.


Add or modify a target:

/usr/local/cpanel/scripts/update_local_rpm_versions --edit target_settings.pure-ftpd unmanaged

Remove an override:

/usr/local/cpanel/scripts/update_local_rpm_versions --del target_settings.pure-ftpd

Apply changes:

/usr/local/cpanel/scripts/check_cpanel_pkgs --fix



6. Practical Examples


Disable Pure‑FTPd (set to unmanaged):

/usr/local/cpanel/scripts/update_local_rpm_versions --edit target_settings.pure-ftpd unmanaged
/usr/local/cpanel/scripts/update_local_rpm_versions --edit target_settings.proftpd unmanaged
/usr/local/cpanel/scripts/check_cpanel_pkgs --fix

Remove ClamAV (set to uninstalled):

/usr/local/cpanel/scripts/update_local_rpm_versions --edit target_settings.clamav uninstalled
/usr/local/cpanel/scripts/check_cpanel_pkgs --fix

Restore cPanel defaults:

/usr/local/cpanel/scripts/update_local_rpm_versions --del target_settings.clamav
/usr/local/cpanel/scripts/check_cpanel_pkgs --fix



7. Golden Rules


  • Never edit /usr/local/cpanel/etc/rpm.versions — it resets on update.
  • Third‑party plugins may conflict if they override the same target.
  • local.versions has the highest priority and overrides everything.
  • Be extremely careful with unmanaged — it can break upgrades or UI components.



8. Conclusion


The rpm.versions system is a powerful mechanism that controls how cPanel manages system packages. By using override files in /var/cpanel/rpm.versions.d/ and the update_local_rpm_versions script, you can safely customize package behavior without risking conflicts during updates. Always follow best practices and avoid unmanaged states unless absolutely necessary.


Written & researched by Dr. Shahin Siami

Related Articles

How to Restore Your cPanel Account: A Complete Guide for New System Administrators

This guide explains how new system administrators can restore a cPanel account using WHM, transfer accounts and configurations between servers, and enable diagnostic logging for transfer and restore operations. It covers essential concepts such as WHM vs. cPanel, root access, backup handling, SFTP uploads, transfer methods, and advanced debugging tools.

Continue

آموزش کامل انتقال تمام اکانت‌های cPanel از یک سرور به سرور دیگر

این مقاله نحوه انتقال همه اکانت‌های cPanel، تنظیمات سرویس‌ها، گواهی‌های SSL و IP اصلی سرور را از یک سرور قدیمی (Source) به یک سرور جدید (Target) توضیح می‌دهد. شامل نصب سرور جدید، انتقال تنظیمات، انتقال اکانت‌ها، تغییر IP، تنظیم DNS و نصب مجدد SSL است.

Continue

How to Migrate a WordPress® Installation to a cPanel & WHM Server

This guide explains how to migrate a WordPress installation from a macOS-hosted environment to a cPanel & WHM server. It covers exporting the database, uploading WordPress files, creating and importing a MySQL database, updating URLs, configuring wp-config.php, fixing broken links, and finalizing the migration.

Continue

How to Manually Transfer an Account Between Servers in cPanel & WHM

This article explains how to manually transfer a cPanel account between servers when the account is too large for WHM’s automated transfer tools. It covers creating temporary directories, compressing public_html and log files, securely transferring data with SCP, and restoring the files on the destination server.

Continue

How to Manually Migrate Horde Calendars and Contacts to Roundcube in cPanel & WHM

This article explains how to manually migrate Horde calendars and contacts to Roundcube in cPanel & WHM version 108 through 118. It covers exporting Horde data, placing it in the correct directories, and importing it into Roundcube using built‑in plugins or manual import tools.

Continue

How to Manually Migrate Accounts to cPanel & WHM from Unsupported Control Panels

This article explains how experienced system administrators can manually migrate accounts from unsupported third‑party control panels to cPanel & WHM. It covers pre‑migration steps, installation requirements, file and directory transfers, database restoration, SSL migration, and post‑migration tasks.

Continue