25

I know that I can define wanted package version in pacman like shown in its manual pacman -S "bash>=3.2". But how do I know what versions are available?

I also know that pacman is creating copy of mirrors upon syncing in .db files in /var/lib/pacman/sync/, but those files are not human-readable.

And what if I want to install some version virtualbox for example, that I hope is in mirrors somewhere, that wouldn't require newer version of linux (set as IgnorePkg in pacman.conf) than I have installed (because of nvidia drivers)? How do I know what version that is and if it is available?

3
  • "But how do I know what versions are available?" isn't pacman -Si package_name enough?
    – Braiam
    Dec 5, 2013 at 14:23
  • @Braiam No, that gives you only the newest available.
    – meridius
    Dec 5, 2013 at 14:25
  • In the meantime I downloaded wanted packages manually from Arch Rollback Machine at seblu.net/a/arm But this approach is requiring manually downloading and trying to install wanted packages which is really time-consuming.
    – meridius
    Dec 5, 2013 at 14:29

1 Answer 1

22

You can't specify a version that easily, as a rolling release, pacman will only provide the latest. When you install something, that package is stored in your computer on the /var/cache/pacman/pkg/ dir, so if you want to downgrade one version or specify another, you have to use pacman -U and the name of the package on your cache. There are "time machine" repos out there where people just stores old packages, you can download the version you want and use pacman -U to install it.

Be aware that you have to "ignore" the updates of that package if you don't want it to update, to see how, check the wiki in the pacman page or this Arch-Wiki page.

In your case, add

IgnorePkg=bash

to /etc/pacman.conf.

4
  • I know of pacman -U and previously installed packages and also of Arch Rollback Machines. My question was really meant on how to ease the process of searching the right package version.
    – meridius
    Dec 5, 2013 at 16:13
  • @meridius You are asking the wrong question: Arch is a rolling release, the only version of a package--for all intents--is the current version. Partial upgrades are unsupported.
    – jasonwryan
    Dec 5, 2013 at 16:24
  • 4
    "as a rolling release, pacman will only provide the latest." Wrong! Rolling realease does not imply that. You can have a rolling release which supports older packages.
    – Rok Kralj
    Feb 6, 2014 at 14:37
  • 7
    @meridius I used the pacman -U option with the full url of the package i needed, at archive.archlinux.org/packages. Also you may want to add that special package to the ignore list, otherwise it will be overrided. @jasonwryan, Rolling release has many benefits, but somethins ship happes and you're forced to keep some "not that new" version :D untill fixes are applied.
    – m3nda
    Apr 24, 2017 at 15:14

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .