2

Let's say that fedora repo has hypotheticalpackage-1.0.0. After some time hypotheticalpackage-1.0.1 was merged into updates repo, and then after that hypotheticalpackage-1.0.2. I updated regularly and have version 1.0.2 installed, but I want to roll back to 1.0.1 (maybe because some other package depends on buggy behaviour of previous versions, it doesn't really matter).

Is it possible to somehow downgrade hypotheticalpackage to version 1.0.1 using only Fedora's repositories, or would I have to resort to using services like rpmfind? I assume that the rpm had not been cached. After browsing the mirrors it seems like only the latter method is available, but I just want to make sure.

5

Maybe. Sometimes.

We do remove older versions from the repositories, so that's unlikely to work for long. (It'd be too much burden on our largely-volunteer mirror network to do otherwise.) However, you can always find the builds for updates in Bodhi, our updates system — for a less theoretical example, see https://bodhi.fedoraproject.org/updates/?packages=firefox. This is better than using rpmfind or searching at random, because you'll know you're getting the actual Fedora package, not some modified trojan.

You can then attempt to downgrade with yum downgrade. However, this won't always work, because not all packages gracefully support going backwards. The %pre and '%post' install scripts can do all sorts of things, and in some cases there may be changes for which reversibility wasn't considered (an update to a config file, maybe), or others for which it's just plain impractical (an updated database schema). Ideally, packages don't do that — and most will work fine — but there's no promises.

  • Thank You for the answer. I didn't consider the problems with install scripts, and I will try to work with Bohdi. – mszymborski Apr 2 '16 at 22:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.