Frands Hansen asked:
What the problem is
To put it in short this is what give me the head ache:
--> Finished Dependency Resolution Error: Package: policycoreutils-2.5-11.el7_3.x86_64 (base) Requires: libsepol.so.1(LIBSEPOL_1.0)(64bit) Error: Package: libsemanage-2.5-5.1.el7_3.x86_64 (base) Requires: libsepol.so.1(LIBSEPOL_1.0)(64bit) Error: Package: 1:NetworkManager-tui-1.4.0-14.el7_3.x86_64 (base) Requires: libjansson.so.4()(64bit) Error: Package: libsemanage-2.5-5.1.el7_3.x86_64 (base) Requires: libsepol.so.1(LIBSEPOL_1.1)(64bit) Error: Package: 7:lvm2-2.02.166-1.el7_3.2.x86_64 (base) Requires: device-mapper-persistent-data >= 0.6.3-1 Installed: device-mapper-persistent-data-0.6.2-1.el7_2.x86_64 (@base) device-mapper-persistent-data = 0.6.2-1.el7_2 Error: Package: policycoreutils-2.5-11.el7_3.x86_64 (base) Requires: libselinux-utils >= 2.5-6 Installed: libselinux-utils-2.2.2-6.el7.x86_64 (@anaconda) libselinux-utils = 2.2.2-6.el7 Error: Package: 1:NetworkManager-libnm-1.4.0-14.el7_3.x86_64 (base) Requires: libjansson.so.4()(64bit) Error: Package: 1:NetworkManager-1.4.0-14.el7_3.x86_64 (base) Requires: libjansson.so.4()(64bit) Error: Package: kernel-3.10.0-514.6.1.el7.x86_64 (base) Requires: linux-firmware >= 20160830-49 Installed: linux-firmware-20150904-43.git6ebf5d5.el7.noarch (@anaconda) linux-firmware = 20150904-43.git6ebf5d5.el7 Error: Package: policycoreutils-2.5-11.el7_3.x86_64 (base) Requires: libsepol >= 2.5-6 Installed: libsepol-2.1.9-3.el7.x86_64 (@anaconda) libsepol = 2.1.9-3.el7 Error: Package: policycoreutils-2.5-11.el7_3.x86_64 (base) Requires: libsepol.so.1(LIBSEPOL_1.1)(64bit) You could try using --skip-broken to work around the problem You could try running: rpm -Va --nofiles --nodigest
The server runs CentOS 7. It has no extra repositories and uses only packages from the core CentOS 7 repos. There have been installed no software that is not provided by yum by default.
What I tried and what I found out
I have attempted a lot of things already, so I’ll try to rule those out:
yum clean all basically.
Wiping the yum cache directory
rm -rf /var/cache/yum and rebuilding with
I have tried several repositories and with all of them I did check that the update files are actually there. I even tried downloading some of the RPM’s from the repo and updating them by hand, that works out just fine. But obviously I want yum to do this for me.
Checking repository configs
The files under
/etc/yum.repos.d seem fine and match another server entirely, that works just perfect.
Checking the repolist
yum repolist – and here’s a finding! See:
# yum repolist Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile repo id repo name status base/7/x86_64 CentOS-7 - Base 807 extras/7/x86_64 CentOS-7 - Extras 807 updates/7/x86_64 CentOS-7 - Updates 807 repolist: 2,421
Notice that there are only 807 packages in each. On my other servers there are way, way more available packages.
Checking the yum sqlite database
I tried downloading the primary_db.sqlite from the server to examine it with a SQLite editor. And there is in fact only 807 records in the
Obviously that has been cleared a ton of times, so it’s not an old left over.
… And this is where you guys come in. I’m out of good ideas, but to me it seems to be narrowed down to the number 807. Why are there only 807 packages? I have, of course, googled like a maniac but I can’t find anything like this.
I found another thread on here with someone who seems to have the same problem, but didn’t give much info: Dependency conflict when updating Yum in CentOS 7
[main] cachedir=/var/cache/yum/$basearch/$releasever keepcache=0 debuglevel=2 logfile=/var/log/yum.log exactarch=1 obsoletes=1 gpgcheck=1 plugins=1 installonly_limit=5 bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum distroverpkg=centos-release # This is the default, if you make this bigger yum won't see if the metadata # is newer on the remote and so you'll "gain" the bandwidth of not having to # download the new metadata and "pay" for it by yum not having correct # information. # It is esp. important, to have correct metadata, for distributions like # Fedora which don't keep old packages around. If you don't like this checking # interupting your command line usage, it's much better to have something # manually check the metadata once an hour (yum-updatesd will do this). # metadata_expire=90m # PUT YOUR REPOS HERE OR IN separate files named file.repo # in /etc/yum.repos.d
All yum.repos.d files
OK, now we can see that in your
baseurl is wrong for three of the four repositories.
centosplus (which is disabled) all have a bad
baseurl. Rather than pointing to the actual corresponding repo on your chosen mirror, they all point to the
You should find this very easy to fix. Just change the
baseurl to point to the correct repo, according to the example already present in the file.
After you fix this, you should
yum clean all again.
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.