From time to time, the yum package manager may encounter issues with duplicate packages that are erroneously installed on a system. This manifests in a yum update going awry, telling us something along the lines of this:
1
2
3
4
5
6
7
8
9
10
11
12
|
yum update
...
—> Finished Dependency Resolution
Error: Package: ntp–4.2.6p5–22.el7.centos.2.x86_64 (@updates)
Requires: ntpdate = 4.2.6p5–22.el7.centos.2
Removing: ntpdate–4.2.6p5–22.el7.centos.2.x86_64 (@updates)
ntpdate = 4.2.6p5–22.el7.centos.2
Updated By: ntpdate–4.2.6p5–25.el7.centos.x86_64 (base)
ntpdate = 4.2.6p5–25.el7.centos
You could try using —skip–broken to work around the problem
** Found 41 pre–existing rpmdb problem(s), ‘yum check’ output follows:
// huge scary list of packages follows
|
You may at times install all other packages via yum update –skip-broken, but it will still leave some trouble on the system. Best to take care of it.
Here’s how I’ve managed to do it on many occasions:
Installing yum-utils
The utility that will help us fix these issues is called package-cleanup, and it’s part of the yum-utils package. Let’s install that first before we continue:
1
|
yum install yum–utils
|
Next, let’s see what’s wrong with our system. package-cleanup –dupes will show us duplicate packages on the system:
1
2
3
4
5
6
7
8
9
10
|
package–cleanup —dupes
Loaded plugins: fastestmirror
parted–3.1–23.el7.x86_64
parted–3.1–28.el7.x86_64
tar–1.26–31.el7.x86_64
tar–1.26–29.el7.x86_64
lvm2–2.02.130–5.el7_2.5.x86_64
lvm2–2.02.166–1.el7_3.1.x86_64
...
|
The list could go on. Here we see that several packages are seemingly installed more than once. The –cleandupes parameter will take care of this, erasing such superfluous packages:
1
|
package–cleanup —cleandupes
|
The process will look very similar to a yum update, with yum verifying and erasing the duplicates. It doesn’t hurt to make a note of the erased packages and check if the latest version is still installed. Should this not be the case, you can bring those packages back with “yum reinstall packagename”.
Finishing Up
At this point, let’s try to update the system again with a standard yum update command. This should take care of any missing dependencies that may have been removed in the previous process, and of course it’ll update the rest of your system too, hopefully taking care of the initial problem.
1
|
yum update
|
Finally, to see if there’s any remaining trouble with the yum database, we can issue the following and are – hopefully – greeted with the same message:
1
2
3
4
|
package–cleanup —problems
Loaded plugins: fastestmirror
No Problems Found
|