Other SE posts, for example this, show how you can install a specific package version. However, I'm unsure what exactly the naming convention / syntax used for the version I want is.

I need to install rdiff-backup version 1.2.8, but I'm unclear from looking through github (I'm a noob) what the full package version would be called. Edit: I should note that I did try the syntax of,

sudo apt-get install rdiff-backup=1.2.8

as well as

sudo apt-get install rdiff-backup=1.2.8-1ubuntu1 \

(the latter just blindly copying the syntax shown in the linked example, in the off chance it worked.)

And as the title states, the commands I've looked up that people say should list all or old versions of packages don't seem to work as intended (or as I understand them).

Thanks for your time.

  • 1
    Which version of Ubuntu are you using? Sep 12 '20 at 23:55
  • 2
    Also, why do you need the 'older' versions of the package? The latest you're going to find published anywhere is newer than 1.8.2-7, and that probably won't work on newer Ubuntu because of all the Python 2 package deprecations and removals that happened in Debian because Python 2 is effectively 'dead' upstream and everything's migrated or migrating to Python 3
    – Thomas Ward
    Sep 13 '20 at 0:05
  • I was using Ubuntu 20.04, and I was seeking an older version of the package to see if I could get rdiff-backup to not throw a "version error" when trying to backup from Security Onion latest release to Ubuntu 20.04. It fails bc SO uses an older Ubuntu version, so I'm told, which makes the rdiff version 1.2.8, whereas Ubuntu's fresh install is 2.0.0 (if I remember right).
    – Spooky
    Sep 13 '20 at 4:03
  • 1
    @Spooky You should include that information in your question itself! It seems highly relevant.
    – marcelm
    Sep 13 '20 at 8:37
  • 1
    X Y problem would seem. Sep 13 '20 at 15:37

Unless you have the specific package version's .deb file downloaded, you can only get what's available in the Ubuntu Repositories (or third party repos or PPAs configured on your system), and usually they only keep the Latest Copy of the package available in the Ubuntu repository itself at any given time.

This is the rmadison output for rdiff-backup in all current releases:

$ rmadison -u ubuntu rdiff-backup
 rdiff-backup | 1.2.8-7 | precise/universe | source, amd64, armel, armhf, i386, powerpc
 rdiff-backup | 1.2.8-7 | trusty/universe  | source, amd64, arm64, armhf, i386, powerpc, ppc64el
 rdiff-backup | 1.2.8-7 | xenial/universe  | source, amd64, arm64, armhf, i386, powerpc, ppc64el, s390x
 rdiff-backup | 1.2.8-7 | bionic/universe  | source, amd64, arm64, armhf, i386, ppc64el, s390x
 rdiff-backup | 2.0.0-1 | focal/universe   | source, amd64, arm64, armhf, ppc64el, riscv64, s390x
 rdiff-backup | 2.0.5-1 | groovy/universe  | source, amd64, arm64, armhf, ppc64el, riscv64, s390x

Therefore, if you are using any release before 20.04, you are stuck with either Nothing (because EOL) or 1.2.8-7. Any release after and including 20.04, you're stuck with 2.0.0 or later.

If you want another version, you'll have to go digging elsewhere because older versions would be ancient, and any OLDER version than 1.2.8-7 (while you can go hunting to TRY and find the .deb for it in older pages and such, or try and compile the older versions yourselves, both of which are nasty options because you're going into 'untrusted sources' to get older versions.

Unless you explicitly need the older versions than 1.2.8-7, you should stick with the version of the package in the repos for your specific release, and not try and install a specific other version - which apt can't do if there are no other versions available in your repository sources for your codenamed release (Bionic for 18.04, Focal for 20.04, for example) (Oh, and there isn't another version available for any of the releases at this time per rmadison, except for the ones it lists per-codename.).

Also, keep in mind that 1.2.8-7 is version 1.2.8 but with package level revisions. ALSO keep in mind that at the time of 1.2.8 it had not migrated to Python 3 support - as a result, 1.2.8 may not function on newer versions of Ubuntu because of Python 2 package deprecation and drops in Debian which trickled down to Ubuntu 20.04 and later.

  • Thanks so much for the incredibly detailed and helpful answer! Really appreciate it.
    – Spooky
    Sep 13 '20 at 4:01

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.