Long term support distributions and software install

Write tutorials for Linux Mint here
More tutorials on https://github.com/orgs/linuxmint/discu ... /tutorials and (archive) on https://community.linuxmint.com/tutorial
Forum rules
Don't add support questions to tutorials; start your own topic in the appropriate sub-forum instead. Before you post read forum rules
Post Reply
User avatar
MikeNovember
Level 7
Level 7
Posts: 1839
Joined: Fri Feb 28, 2020 7:37 am
Location: Nice, Paris, France

Long term support distributions and software install

Post by MikeNovember »

Hi,

Long Term Support distributions such as Linux Mint 19.x or 20.x are nice ones.
But what does mean LTS ?
It means that security updates, kernel updates will be available till the en of support (April 2025 for Mint 20.x); it means also some programs (browsers, mail clients...) will be updated regularly. But most of programs will not be updated, and will stay in the same version as the origin.

So, what to do when you want a fresher version of a program? Or when you want a program not in the distribution?

Before to go further, you need to understand that the programs in the distribution are mostly compiled with dynamic links to libraries (libraries are in the distribution, and not part of the programs). Programs can call for a specific version of the library, or can call for a specific or more recent version of the library. This has some consequences in terms of compatibility: if the program you want needs, for example, ffmpeg 4.15 or above, it will not work if your version of ffmpeg is 4.12.

- Programs included in the distribution:
No problem, they use the libraries included in the distribution. Just install them with your package manager.

- Programs compiled for your distribution or for a compatible one:
They are compiled for Ubuntu 18.04 (=> Mint 19.x), Ubuntu 20.04 (=> Mint 20.x), Debian 10 Buster (=> Mint 20.x). And they work in your distribution without problem, since they use the same libraries.
Some examples I use with Mint 20.2, downloaded from their respective websites:
BleachBit (deb), Filezilla (Linux executable)...
In some cases, a program compiled for a distribution can work for a more recent one: BlueGriffon (deb), compiled for Ubuntu 18.04 works with Mint 20.2 (based on Ubuntu 20.04).
In any case, if you install a deb with gdebi, gdebi will tell you if dependencies are satisfied; and if gdebi accepts to install a deb, the program will work!

- "Universal" programs:
These programs can be installed in any version of Mint / Ubuntu / Debian etc. They use old versions of the libraries, accept ascending compatibility, AND/OR use specific libraries with static linking (libraries are part of the program).
Some examples I use with Mint 20.2, downloaded from their respective websites:
LibreOffice (debs), Mozilla Firefox and Thunderbird (Linux executable, just put them in your '/home/user/opt' directory), Calibre (install procedure), FreeFileSync (install procedure)...

- Personal Package Archive (PPA):
Some people (or institutions) can offer programs in a PPA: the PPA works as an unofficial depot, without any warranty.
You need to be cautious in choosing a PPA: some are safe, others are not.
Safe PPA offer a program (that might be fresher than the same one in the distribution, or not in the distribution), they offer extra libraries, but DO NOT CHANGE distribution libraries. If distribution libraries are changed, you may have compatibility problems with distribution programs. And upgrade (from 19.x to 20.x, or 20.x to 21.x in the future) will be complicated: you will have to uninstall programs from PPAs (OK), remove PPAs (OK) but also downgrade the libraries from the PPAs, and this generally DOES NOT WORK --> instead of an upgrade, you will have to do a new fresh install.
Examples of safe PPA's I use with Mint 20.2:
Inkscape PPA, OBS-STUDIO PPA, Audacity PPA.
Example of unsafe PPA:
Rob Savoury PPA for VLC, since it changes at least 17 libraries in Mint 20.x.

- Flatpak, Snap, AppImage:
In order to cope with two problems (to use recent libraries, and to avoid to compile a program for each distribution), some new ways to deliver linux programs have appeared, flatpak, snap and AppImage; the three ways are available for Mint, and with the three ways you don't change your distribution libraries.

Flatpaks: when you install your 1st flatpak, some "core" programs are installed. For example, to use VLC 3.0.16 and Handbrake 1.4.0 in flatpaks, here is what is installed on my computer:

Code: Select all

~$ flatpak list
Name                 Application ID                Version Branch Installation
HandBrake            fr.handbrake.ghb              1.4.0   stable system
Mesa                 …edesktop.Platform.GL.default 21.1.4  20.08  system
nvidia-390-144       …p.Platform.GL.nvidia-390-144         1.4    system
openh264             …reedesktop.Platform.openh264 2.1.0   2.0    system
GNOME Application P… org.gnome.Platform                    40     system
Mint-Y Gtk Theme     org.gtk.Gtk3theme.Mint-Y              3.22   system
KDE Application Pla… org.kde.Platform                      5.15   system
VLC                  org.videolan.VLC              3.0.16  stable system
~$ 
It takes some GB on the disk, but the launch of programs is fast.

Snaps: Snaps are a merge of image disks and core programs; like with flatpaks, at the 1st install of a program you install core programs, and the program itself and all its dependencies are included in a squash-fs image disk; at the launch of the program, image disk is mounted, then program executed. Like flatpaks, snaps take huge amount of disk, and their launch is slow. At the moment, I use no snap (thanks to Mint that provides a compiled Chromium for Mint 20.x, while Ubuntu provides a snap in 20.04). No risk to use a snap.

AppImages: they are squash-fs image disks, supposed to contain the program and all its dependencies and supposed to be universal. They may be very huge (I have seen an AppImage for VLC with more than 1 GB size), and some authors tend to include NOT ALL the dependencies (and so the AppImage is no longer universal :( ). Their launch is slow. No risk to use an AppImage.
Some AppImages I use with Mint 20.2:
Avidemux 2.7.8, Squishpic 1.0.

- Additional package managers:
I will mention two: pip and Gnu Guix.

Pip: it can be installed with python3-pip package; I use it to install and upgrade youtube-dl; with pip you can install a few tens of thousands of programs, python scripts.

Gnu Guix: it contains very recent versions of OpenSource programs. It exists in three kinds:
* a package manager that you add to your existing installation; then, as requested, it install the programs you want (from its list of available ones) and the corresponding dependencies; a bit hard to uninstall...
* a virtual machine for qemu-kvm (never arrived to have it work, I am not an expert of qemu :?: ).
* an ISO image; as a linux installation it would not work very well, limited to OpenSource only it would not be user-friendly; but, once installed in a virtual machine (with VirtualBox or VMware), it will allow you to launch a program from within the virtual machine.

Thanks to have read me; feel free to ask questions.

Regards,

MN
Last edited by xenopeek on Fri Jul 30, 2021 7:42 am, edited 1 time in total.
Reason: doesn't look like a support request, so moved here instead
_____________________________
Linux Mint 21.3 Mate host with Ubuntu Pro enabled, VMware Workstation Player with Windows 10 Pro guest, ASUS G74SX (i7-2670QM, 16 GB RAM, GTX560M with 3GB RAM, 1TB SSD).
Post Reply

Return to “Tutorials”