1

I've run into this situation three times recently, prompting me to wonder if there is a general approach to handling this. However, advice on the particular examples below would also be appreciated.

  • I wanted to install the upstream (development version) of the game "Supertux." I found the download page, but it doesn't give a .deb package.

  • Likewise, the download page for the racing game "Supertuxkart" gives an archive file, but no .deb package.

  • More recently, I wanted to install the 2.80 beta of Blender. The download file is an archive file, not a .deb package.

All of these packages are available (in an earlier version) from the default package sources, so can be installed with just apt install <packagename>. They just won't be the upstream, development versions.

I want to install them so they are available for all users of the family computer, not just me. I want to have the desktop launcher files in the usual places (so they show up in the "applications search" from the GUI) and the binaries able to be launched from the usual PATH lookup. Ideally, I would like to have the package versions recorded wherever apt usually stores that information (so that any "apt" commands will show the versions installed).

I know I could do all of this if I had .deb files for the newer versions of these packages.

Is there a usual way to install newer versions of standard packages than the versions available from the default apt sources? If not, what are some typical ways the results above can be accomplished? (Or at least how to install the three packages listed above?)

(I know that software maintainers must fulfill certain requirements to be included in the default apt sources, so it seems possible that there might be some requirement about making newer versions available in some standard way.)

I'm using 18.04 if that makes a difference.

  • 1
    Don't forget if you grab later (18.10/19.04) packages, they'll stop receiving updates when those releases go EOL; so you'll be changing your 5 year supported system into a much shorter life system. Likewise with PPA's, being 3rd party it's up to you to ensure they will continue to be supported; as only 'main' repository software is guaranteed with 5 years of supported life. (this is general; ubuntu-studio packages for 18.04 had only 9 months of supported life; the Ubuntu-Studio are using PPA's to extend that support further so you need to read release notes) – guiverc May 5 at 22:52
  • @guiverc, I would have thought that if a newer version were available from the main repos than from some PPA I might have added, then sudo apt upgrade would install that newer version. Is that not the case? – Wildcard May 6 at 1:10
  • 1
    `apt & dpkg update according to version given by the packager (not the software inside). PPA & non-Ubuntu packagers may use alternate systems (commonly do so their package gets used, or use an alternate standard) which create problems for next release-upgrade; or cause security patches & later updates in core package to be missed (eg. 2.2.3 gets renamed 2.3 by ppa packager; meaning better 2.2.4 update on main is skipped - this is oversimplified) By adding PPA's & other sources, you've taken on the security/oversight role of Ubuntu packagers – guiverc May 6 at 1:15
3

So, there's not going to be easy answers for this, as we are all dependent upon the developers bringing packages to our systems, and if we would prefer debs, we have to hope or convince them to create those packages.

However, there is a way that you can do this with Ubuntu, in the manner that I think you want.

You will need to load onto your system CheckInstall which is available in the Ubuntu repositories. With ChickInstall you can take the source file from a .tar.gz, and build a .deb file for use on your system.

Usage of CheckInstall is on the Ubuntu help page link I gave earlier. The drawback is that you may have to read through the documentation of the source files to ensure that you have any needed dependencies.


I do note also, that SuperTuxKart is available in the lastest version as a snap, and Blender 2.79b is available in that method as well. I have heard that the snaps will be more up to date than what is available in the repositories, and they auto update.

sudo snap install supertuxkart
sudo snap install blender
2

The most straightforward way to install newer version than those from default repositories is to add 3rd party PPAs that offer the desired version, to find out what PPAs containing the specific package— you can use Launchpad PPA's search, just type your package on search field and launchpad will find the PPAs with matched package.

Once you found the PPA, you can either.

  • Add the PPA using add-apt repository, e.g.:

    sudo add-apt-repository ppa:thomas-schiex/blender
    sudo apt update
    

    From here you have the power to install anything within this PPA. a simple sudo apt install (PACKAGE_NAME) will do the jobs.

  • Explicitly retrieve .deb package from the PPA.

    1. Go to Overview of Published Packages section
    2. There are option to filter package published in, choose your OS (Bionic → 18.04 LTS).
    3. Click "View package details".
    4. Select your desired package, clicking it will reveal: description, package version, etc.
    5. Scroll all the way down until you see "Package files", you can see your .deb files there.

enter image description here

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.