On systems running CentOS 6 that have been running cPanel for many years, attempts to migrate to CloudLinux may fail with a yum error
Traceback (most recent call last):
File "/usr/bin/yum", line 29, in <module>
yummain.user_main(sys.argv[1:], exit_code=True)
File "/usr/share/yum-cli/yummain.py", line 298, in user_main
errcode = main(args)
File "/usr/share/yum-cli/yummain.py", line 227, in main
return_code = base.doTransaction()
File "/usr/share/yum-cli/cli.py", line 512, in doTransaction
if self.gpgsigcheck(downloadpkgs) != 0:
File "/usr/share/yum-cli/cli.py", line 608, in gpgsigcheck
result, errmsg = self.sigCheckPkg(po)
File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 2254, in sigCheckPkg
sigresult = rpmUtils.miscutils.checkSig(ts, po.localPkg())
File "/usr/lib/python2.6/site-packages/rpmUtils/miscutils.py", line 67, in checkSig
fdno = os.open(package, os.O_RDONLY)
TypeError: coercing to Unicode: need string or buffer, NoneType found
Description
This error occurs due to an out-of-date system Perl install. This package is typically outdated due to an old exclusion put in place by a previous version of cPanel.
Workaround
Remove the exclusion from /etc/yum.conf
# nano /etc/yum.conf
Remove "perl*" from "exclude="
Update Perl
# yum update
Reattempt the CloudLinux install
# sh cldeploy -i