Linux Mint Background
Linux Mint is a Linux distribution which uses Debian-stable LTS (long term service) and the current Ubuntu LTS Linux distributions as building blocks. It is downstream from those two, with Debian-stable being the primary distribution in this family (the first in line to make changes), then Ubuntu LTS, then Mint.
Since it is “forked” from LTS versions of these other distros, it doesn’t always implement their most cutting edge developments, nor their latest versions of software. It benefits though from the best of their error fixes and security updates. It is stable over a longer period of time. More things just work. Also, being downstream, it has more user-friendly refinements. That makes it easier to setup and good for beginners.
The Linux kernel is the central part of any Linux distribution. It consists of the core OS and also all the hardware drivers. It is continuously developed by a staff, as well as outside parties with their own interests and movtivations. Everything is merged together and tested within periodic time windows, the resulting product is used on just about every conceivable computer platform, except where MS Windows and Apple MacOS are loaded onto computers and a few other exceptions.
Windows has its own proprietary closed-source kernel, with no source code available. MacOS runs on BSD, similar to Linux in some ways, yet different by the licensing which allows for more controls and restrictions by the vendor. Neither allow for public scrutiny of the source code, allowing anything to be slipped in without anyone’s knowledge.
The Linux kernel, on the other hand, is available in both source code, and compiled and ready to use. This allows for others to do things like perform automated text searches through the source code to verify there aren’t any back doors or anything malicious, look for exploits and vulnerabilities, and perhaps even compile it for themselves. It also allows for custom changes to the code, if desired.
They also have a bug tracking website, open to anyone. Here is a sample query on the latest new bugs from the past 7 days.
This is all run by Linus Torvalds from The Linux Foundation, “a neutral home where Linux kernel development can be protected and accelerated for years to come.”
The Linux kernel is used by many different types of end products. For PCs (personal computers), the end product is called a “distribution”. That includes the Linux kernel (which already has the hardware drivers for as many known devices used by PCs as possible), operating system management programming, run-time packages needed to run higher level scripting software, a graphic user interface, and varying levels of preinstalled software so that in many cases the system can be used right away after installation.
Android devices (as branded by Google/Alphabet) use a smaller version of the same Linux kernel. The hardware drivers included are only what is necessary for the components used in Android devices, which reduces the size. Then the Android software developed by Google just runs on top of the Linux kernel. Only certain parts of the Android software are exposed to the end user. The rest are internal to Google. On the other hand, the user is not exposed to any aspects of the Linux system underneath. It is completely internal to Google. These Android devices receive security patches from Google as necessary.
Then there are other types of products, those for which people pay a monthly service fee to receive a service: cable/satellite DVRs, Tivo, Roku, etc. Likewise, the Linux kernel is not exposed to the end user for any of these, so as to prevent the user from reconfiguring it and cheating the service provider. Since these devices are connected to a paid service, they typically receive Linux kernel updates from the vendor(security patches or other updates as necessary), over cable services or computer networks. Satellite receivers get these updates over periodic satellite transmissions.
The Linux kernel is also used to run “Internet Of Things” items such as “smart TVs” and home appliances, none of which have a paid subscription. In some cases these are not updatable with recent Internet security updates. Since they are not supported and some are not able to receive security updates, they may eventually become vulnerable to new risks over time, if left connected to the Internet. So in general, as a side note, many of these shouldn’t even be allowed to connect to the Internet.
Linux Mint foundations
Back to Linux Mint. This is the distribution I use on my Internet-connected PCs, so naturally it is the one I am going to be most confident in recommeding to people. Of course there are many other choices too.
The base components and system management utilities of Linux Mint come largely from the Debian “stable” branch, which Ubuntu’s LTS (long term service) version is forked from. (other Debian branches being “testing” and “unstable”)
Ubuntu provides some additional programming, adaptations, improvements, and many of the system update patches. A lesser amount of Debian system update patches comes through on Linux Mint. Since Linux Mint is based indirectly on Debian “stable”, issues with Debian are often already worked out by the time it is forked over to Ubuntu, and then to Linux Mint.
The Debian “stable” branch, and Ubuntu each need a major upgrade or reinstallation between major versions. Since Linux Mint is forked from these, it needs a major upgrade or reinstallation in between major versions too.
There is a different branch of Linux Mint, LMDE (Linux Mint Debian Edition). It is considered by some to be a bit more cutting edge, as it is forked directly from Debian’s “unstable” branch. Debian “unstable” is a “rolling release”, meaning that it doesn’t need an upgrade or reinstall between major releases. Normal system updates bring it to the next major version. The downside of this is you are exposed to more bugs, before they get worked out. Some parts get updated before others, temporarily breaking certain programs.
The main Linux Mint branch is what I use, not LMDE.
Security updates are implemented across the board for all versions still under support. In the case of an older supported version, the latest security updates are “backported” (applied to all older supported versions just the same as the newest).
The Linux Mint team also develops the Cinnamon desktop envoronment, also used by some other distributions.
Different ways to get software
Linux Mint’s primary place to get software is it’s Software Manager utility. That downloads and installs pre-vetted software from the repository. This functionality and repository are both inherited from Ubuntu. The software is specific to OS version. Prior versions of Linux Mint generally won’t get any new features or new software in its repository, due to compatibility issues.
Then there are .deb files, which are provided on the various developer websites. These use a built-in function of Linux Mint, inherited from Debian, which installs software packages. These are similar to Windows Installer files (.msi, .msu). These .deb files are usually OS version-specific too, depending on their requirements.
Newest software or otherwise incompatible versions can sometimes still be used, in a couple of different ways. One is to download and run software from the developer’s website as an “AppImage”. That is a single large file that is similar to a simple Windows executable file, in that it needs no installation in order to run. It also contains all the other resources it needs to run – it doesn’t use the system’s. Just download it, check the permissions box to allow it to “run as a program”, then double-click it to run it.
The other is the Flatpak utility, which installs everything a program needs to run. Flatpak operates a bit like the Software Manager, except it is a different utility and doesn’t care about software versions. As a result Flatpak installations take up more space than a regular program, as every single resource they use is also included. There is a category of Flatpak options included in the Software Manager, but many others to be installed from instructions on developer websites.
Then there are “PPA”s, which trusted software developers provide the instructions to use on their website. PPAs use an Ubuntu/Linux Mint-provided string to add them as an extra repository. The computer is then configured by Ubuntu servers to also look to external Ubuntu-vetted website(s) for updates or installation.
Finally there are “Additional Repositories”, which outside developers also provide the instructions to use on their website. These are outside the scrutiny of the Ubuntu PPA system, they are just direct links to external websites for installation/updating of software. It is up to you to use discretion with these.
Configuration for both PPAs and Additional Repositories can be added/edited/revoked using the Software Sources utility in Linux Mint.
So there are several different ways to get software.
AppImage and Flatpak are able to be cross-platform, across different types of Linux distributions. So these will have the greatest compatibility. Chances are they also will have the latest and greatest developments.
For the beginner, the built-in Software Manager, AppImage, and .deb files are going to be the easiest options and should suffice for the most part. Just point and click.
PPAs/Additional Repositories and Flatpaks (outside of the Flatpak category in the Software Manager) require a very minor but easy amount of configuration using the Terminal command window. If you come across an application that uses these, just follow the instructions on the developer’s website.