We explored AppImage to generate distro-independent Linux binaries a few days back. With Linux, there are multiple elegant ways to solve similar problems. Here’s a situation regular Ubuntu uses might face often: just when you are ready to roll with the fresh application that does awesome things, you visit the PPA to find the package is not available for the version on Ubuntu you are on. Well, if you are on Ubuntu 14.04 or above a new utility called adapt might save the day.
Many of chooses to stick to LTS versions and the above problem is a reality. adapt adapts any application on any version on Ubuntu. It’s not voodoo, of course! adapt uses lightweight LXD containers to achieve this. As a result you can run your app on any kind of machine: physical, virtual, desktops, servers and any CPU architecture.
adapt works bothways. You can run an app suitable for a newer Ubuntu version on a older version and vice versa.
The developer of adapt, Dustin Kirkland, presented the utility at the SCALE14x event in Pasadena weeks back.
To install adapt on Ubuntu 14.04 and above:
$ sudo add-apt-repository ppa:adapt/ppa $ sudo add-apt-repository ppa:ubuntu-lxc/lxd-stable // needed for 14.04 only $ sudo apt-get update $ sudo apt-get install adapt lxd
adapt works like apt and the syntax is very familiar too. Find a few examples below.
Install a package:
$ adapt install -p myapp
Remove an app:
$ adapt purge -p myapp
Install a package meant for Ubuntu Wily:
$ adapt install -r wily -p myapp
Remove the above app:
$ adapt purge -r trusty -p myapp
Create an alias for a package and check the version of the package (if it supports the option):
$ adapt alias -c ansible $ myapp --version
Help and more informaiton:
$ adapt help