English
Ask Your Question
0

Downgrading packages

asked 2014-02-27 17:47:59 +0000

dk_zero-cool gravatar image

updated 2014-02-28 15:56:10 +0000

mether gravatar image

So I am trying to install some 32bit libraries on my 64bit fedora installation for development purposes, but some of the packages exists only as older versions in 32bit than my installed 64bit's. So I tried downgrading the installed 64bit packages to match the 32bit, but ran into other conflicts due to a lot of other packages needing those exact versions. I have not been using Fedora since FC4, so I am kind of rusty in the whole RPM department. Ubuntu's and Debians package system works a little differently, so if anyone could tell me how to get around this problem?

[root@spz-desktop daniel]# yum downgrade nss-softokn-freebl.x86_64
Loaded plugins: langpacks, refresh-packagekit
Resolving Dependencies
--> Running transaction check
---> Package nss-softokn-freebl.x86_64 0:3.15.2-2.fc20 will be a downgrade
---> Package nss-softokn-freebl.x86_64 0:3.15.4-1.fc20 will be erased
--> Finished Dependency Resolution
Error: Package: nss-softokn-3.15.4-1.fc20.x86_64 (installed)
           Requires: nss-softokn-freebl(x86-64) >= 3.15.4
           Installed: nss-softokn-freebl-3.15.2-2.fc20.x86_64 (@koji-override-0/$releasever)
               nss-softokn-freebl(x86-64) = 3.15.2-2.fc20
           Removing: nss-softokn-freebl-3.15.4-1.fc20.x86_64 (installed)
               nss-softokn-freebl(x86-64) = 3.15.4-1.fc20
           Downgraded By: nss-softokn-freebl-3.15.2-2.fc20.x86_64 (fedora)
               nss-softokn-freebl(x86-64) = 3.15.2-2.fc20
 You could try using --skip-broken to work around the problem
** Found 212 pre-existing rpmdb problem(s), 'yum check' output follows:
1:NetworkManager-glib-0.9.9.0-31.git20131003.fc20.x86_64 is a duplicate with 1:NetworkManager-glib-0.9.9.0-20.git20131003.fc20.x86_64

..... [TRIMMED DOWN BY AUTHOR] .....
edit retag flag offensive close merge delete

Comments

please use fpaste

williamjmorenor ( 2014-02-28 02:26:22 +0000 )edit

2 answers

Sort by ยป oldest newest most voted
0

answered 2014-02-28 13:58:28 +0000

dk_zero-cool gravatar image

updated 2014-02-28 19:35:42 +0000

Since this is not the first time that I have had this problem with Fedora (Exept for the part of not being able to install something new), I made a small automated script based on @Ahmad Samir's answer above. Since the only other solution is to reinstall Fedora, I see no reason not to try this one first, even though it could break something. I meen, if you are going to reinstall anyway? It helped me to avoid having to make a fresh install.

#!/bin/bash

NEW_PKGS=""
OLD_PKGS=""

while read line; do
    if [ -n "$line" ]; then
        NEW_PKGS="$NEW_PKGS $(echo $line | awk '{print $1}')"
        OLD_PKGS="$OLD_PKGS $(echo $line | awk '{print $NF}')"
    fi

done < <(yum check 2>/dev/null | grep 'duplicate with')

if [ -n "$OLD_PKGS" ]; then
    echo "The following duplicates will be removed..."

    for pkg in $OLD_PKGS; do
        echo "  - $pkg"
    done

    echo ""
    echo -n "Do you want to continue? [Y/N] "; read answer

    if [ "$answer" = "Y" ] || [ "$answer" = "y" ]; then
        sudo rpm -e --nodeps $OLD_PKGS
        sudo yum -y --skip-broken reinstall $NEW_PKGS
    fi

else
    echo "Nothing to do here!"
fi

echo ""
edit flag offensive delete link more

Comments

rpm doesn't have a '--skip-broken' option. And as I said before, this is a dangerous process, and usually it's a one-off hickup, i.e. it doesn't happen that many times...

Ahmad Samir ( 2014-02-28 17:13:14 +0000 )edit

No sorry, your right. It is the second command where I added that part.

dk_zero-cool ( 2014-02-28 19:34:45 +0000 )edit
0

answered 2014-02-27 20:56:50 +0000

Hi: This line is interesting

** Found 212 pre-existing rpmdb problem(s), 'yum check' output follows:

I think more that a specific issue about nss-softokn-freebl (which is related to nss-softokn, so you should consider downgrading both) you've some level of corruption/mess on your yum configuration. What about running some

yum clean all; yum update

to check if consistency is OK before trying to play with nss-softokn

Kind regards

edit flag offensive delete link more

Comments

Okay, I tried running clean all and update (No updates) and it did not fix the output of "yum check". Also still can't install the 32bit libraries or downgrade the two mentioned once.

This is a completley fresh install. Only thing I have done so far is run "yum update", added rpmfusion repo, installed a few packages such as additonal gstreamer packages, flash, java and eclipse. Now I am stuck at trying to install these 32bit libraries.

Two days ago I did the same exact thing on my desktop (This is my laptop) without any problems. So whatever this is, is a restult of whatever package changes that has been added in the last two days.

dk_zero-cool ( 2014-02-27 21:20:55 +0000 )edit

Okay, I tried deleting the old versions of the duplicate packages, but this just provides new errors

.......
Error: Depsolving loop limit reached.
dk_zero-cool ( 2014-02-27 22:33:51 +0000 )edit

This is a bit risky, but I'd try removing the duplicates using 'rpm -e --nodes', and after finishing I'd yum reinstall the new packages to be sure no problems will arise in the future due to that duplicate-packages fiasco...

This is with a big try-it-at-your-own-risk banner; I've compiled a list for the commands to run, to remove the dupes:

http://fpaste.org/81163/

to reinstall using yum:

http://fpaste.org/81164/

The worst that can happen is completely messing up the system and having to perform a clean Fedora install...

Ahmad Samir ( 2014-02-28 06:56:40 +0000 )edit

Thanks a lot, it worked by adding "--skip-broken" and it fixed most of these alerts, only one pacage left that cannot be deleted. But now I had no problems installing the 32bit libs, so all is good and I can now work on the laptop as well. They should add this method to the "package-cleanup" command, cause it's "--cleandupes" could not handle this issue. Again thanks.

dk_zero-cool ( 2014-02-28 13:01:07 +0000 )edit

You had to use '--skip-broken' with the 'yum reinstall' command?

I don't think this method should be added to any official tool, as I said, it is risky; using 'rpm -e --nodeps' might mess up the system very badly...

Glad it's fixed.

Ahmad Samir ( 2014-02-28 13:26:29 +0000 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

[hide preview]

Use your votes!

  • Use the 30 daily voting points that you get!
  • Up-vote well framed questions that provide enough information to enable people provide answers.
  • Thank your helpers by up-voting their comments and answers. If a question you asked has been answered, accept the best answer by clicking on the checkbox on the left side of the answer.
  • Down-voting might cost you karma, but you should consider doing so for incorrect or clearly detrimental questions and answers.

Question Tools

Follow
1 follower

Stats

Asked: 2014-02-27 17:47:59 +0000

Seen: 1,355 times

Last updated: Feb 28 '14