These logs are from an amazon-linux system, but i had the same problem on centos.
I was trying to run linux-patch-baseline remotely via ssh as a non-root user.
so I tried running the commands in the test manually.
I found that the python script got a 'Permission denied' error when run as my ssh user on the /var/cache/yum/ directory.
Interestingly If I ran this python command as root, then ran the inspec test remotely it worked.
sh-4.2$ python -c 'import sys; sys.path.insert(0, "/usr/share/yum-cli"); import cli; list = cli.YumBaseCli().returnPkgLists(["updates"]);'
Loaded plugins: fastestmirror, priorities, update-motd, upgrade-helper
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/usr/share/yum-cli/cli.py", line 1401, in returnPkgLists
ignore_case=True, repoid=repoid)
File "/usr/lib/python2.7/dist-packages/yum/__init__.py", line 2998, in doPackageLists
for (n,a,e,v,r) in self.up.getUpdatesList():
File "/usr/lib/python2.7/dist-packages/yum/__init__.py", line 1091, in <lambda>
up = property(fget=lambda self: self._getUpdates(),
File "/usr/lib/python2.7/dist-packages/yum/__init__.py", line 836, in _getUpdates
self._up = rpmUtils.updates.Updates(self.rpmdb.simplePkgList(), self.pkgSack.simplePkgList())
File "/usr/lib/python2.7/dist-packages/yum/__init__.py", line 1072, in <lambda>
pkgSack = property(fget=lambda self: self._getSacks(),
File "/usr/lib/python2.7/dist-packages/yum/__init__.py", line 776, in _getSacks
self.repos.populateSack(which=repos)
File "/usr/lib/python2.7/dist-packages/yum/repos.py", line 347, in populateSack
self.doSetup()
File "/usr/lib/python2.7/dist-packages/yum/repos.py", line 157, in doSetup
self.retrieveAllMD()
File "/usr/lib/python2.7/dist-packages/yum/repos.py", line 88, in retrieveAllMD
dl = repo._async and repo._commonLoadRepoXML(repo)
File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 1509, in _commonLoadRepoXML
if self._latestRepoXML(local):
File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 1478, in _latestRepoXML
oxml = self._saveOldRepoXML(local)
File "/usr/lib/python2.7/dist-packages/yum/yumRepo.py", line 1336, in _saveOldRepoXML
shutil.copy2(local, old_local)
File "/usr/lib64/python2.7/shutil.py", line 130, in copy2
copyfile(src, dst)
File "/usr/lib64/python2.7/shutil.py", line 83, in copyfile
with open(dst, 'wb') as fdst:
IOError: [Errno 13] Permission denied: '/var/cache/yum/x86_64/latest/amzn-main/repomd.xml.old.tmp'
sh-4.2$ sudo python -c 'import sys; sys.path.insert(0, "/usr/share/yum-cli"); import cli; list = cli.YumBaseCli().returnPkgLists(["updates"]);'
Loaded plugins: fastestmirror, priorities, update-motd, upgrade-helper
Loading mirror speeds from cached hostfile
* amzn-main: packages.ap-northeast-1.amazonaws.com
* amzn-updates: packages.ap-northeast-1.amazonaws.com
* epel: s3-mirror-ap-northeast-1.fedoraproject.org
1045 packages excluded due to repository priority protections