how to configure package management for cPanel

This article explains how to configure package management for cPanel & WHM’s rpm.versions system. It covers when and why a package target may be unmanaged, risks of unmanaged targets, the full list of available targets, and how to switch a target between managed and unmanaged states.

cPanel package managementrpm.versions targetsunmanaged packages

~2 min read • Updated Feb 17, 2026

1. Introduction


The rpm.versions system in cPanel & WHM controls whether specific RPM or DEB packages are installed, updated, or removed. If you do not want the system to manage a package, you can set its target to unmanaged. This guide explains how to set or unset package management for any target.


Note: Before version 98, this feature was called “RPM Management.” Starting with version 98, DEB packages were added for Ubuntu installations.


2. Common Problems with Unmanaged Packages


Warning: It is strongly recommended to keep all targets managed by the rpm.versions system.


  • Unmanaged packages do not receive automatic updates.
  • Unmanaged FTP targets may break FTP-related interfaces in cPanel.
  • Unmanaged targets may block future cPanel & WHM upgrades.

3. Why Is My Target Unmanaged?


Some targets may appear unmanaged even if you did not modify them:

  • FTP — proftpd and pure-ftpd
  • NSD — nsd (removed in version 106; target removed in version 112)

4. What Is an rpm.versions Target?


The file /usr/local/cpanel/etc/rpm.versions contains target_settings, which define whether each target is managed or unmanaged.


Example: The clamav target controls the following packages:

  • cpanel-clamav
  • cpanel-clamav-virusdefs
  • cpanel-perl-123-file-scan-clamav

5. List of Available Targets


ServiceTargetWarning
Third-party software3rdpartyNever set to unmanaged
Analog Statsanalog
AWStatsawstats
ClamAVclamav
ComposercomposerRemoved in version 130
cPanelcpanelNever unmanaged
Developer Toolscpanel-devel
Privilege Managementcpanel-wrapNever unmanaged
EximeximAdvanced users only
FTPproftpd / pure-ftpd
Gitgit
Mailmanmailman
Muninmunin
MyDNSmydnsRemoved in version 112
NSDnsdRemoved in version 112
Obsolete servicesobsolete
p0fp0f
phpMyAdminphpmy
PAMpam
Perl 5.32perl532Never unmanaged
Perl 5.36perl536Never unmanaged
Perl 5.42perl542Never unmanaged
PHPcpanel-php81 / php83 / php84
PowerDNSpowerdns
Roundcuberoundcube
Site PublishersitepublisherRemoved in version 134
SQLitesqlite
User Interfaceuserinterface
Webalizerwebalizer

6. Set a Target to Unmanaged


Use the following command, replacing service with the target name:


/usr/local/cpanel/scripts/update_local_rpm_versions --edit target_settings.service unmanaged

For FTP, run the command twice:

  • pure-ftpd
  • proftpd

6.1 Confirm the Target Is Unmanaged

Open:


/var/cpanel/rpm.versions.d/local.versions

Example:

target_settings:
  cpanel-devel: installed
  roundcube: unmanaged

7. Return a Target to Managed


To restore the default managed state:


/usr/local/cpanel/scripts/update_local_rpm_versions --del target_settings.service

For FTP, run the command for both targets.


7.1 Confirm the Target Is Managed

The target should no longer appear in target_settings.


Conclusion


The rpm.versions system is essential for maintaining package stability and compatibility in cPanel & WHM. While you can set targets to unmanaged, doing so should be approached with caution due to potential service issues and upgrade blockers. This guide provides the necessary steps to safely manage or unmanage package targets.


Written & researched by Dr. Shahin Siami