The two most popular ways software is distributed are:
- As packages through distribution repositories.
- Through the Internet.
The first option is much safer than the second. However, there are two variations again for installing software downloaded from the Internet.
That is one require an admin (or root) password and the other doesn’t. For instance, if you download the Firefox web browser from the Internet, you can install and run it on your home directory directly. Whereas, if you try to install hplip (HP’s printer, fax & scanning software) from the Internet, it requires modifying your system files by asking your root password during installation. Such software are prone to breaking your system even if they are distributed by the original manufacturer. And they are the main topic in the discussion here.
Your system breaks the moment you install that downloaded software package from the Internet. Because your new software configuration files and the distribution maintained software configuration files don’t match anymore. And yes, of course, you won’t notice any sign that your system is broken just that it may respond well with the new software.But the day you decide to switch back to the repository version or upgrade your system to the next major release version, you’ll realize that your system is broken. And then spend countless hours googling around the Internet looking for a fix. That’s tedious and time-consuming.
You just installed a new software package from the Internet and what happens after that is the new software overwrites your previous configuration file(s). When you later decide to switch back to the distribution maintained software, the repository program that replaces that downloaded-from-the-Internet program does not understand what the new configuration file is saying. So it spits out lots of error messages. Let’s assume you encountered the above situation and were able to solve the problem by deleting the overwritten software’s configuration files. That way, when you launch the program, it writes new configuration files again since it doesn’t detect one for loading and hopes the program to run successfully.
Well, if you’re lucky the program obeys you 😛 but otherwise the program would most likely still continue to fail to run!!! If that’s the case then it’s not only the configuration files that’s the culprit for breaking the system but the library files too. That’s where things get more complicated because we cannot know for sure which library file is causing the program to fail unless we are technically intelligent.
If we had been more careful and consciously aware of our actions, we would first purge all the software packages that are about to be replaced and then reinstall the software packages from the repository.
Staring at those error messages printed on the terminal program, we’d copy an error message and search it online using search engines. The process takes a long time depending on how we understand what geeks are saying. Some use complicated technical jargons that would likely leave us clueless. And if we’re lucky we might encounter our solution at first mouse click. Otherwise, this is a reference to reference read more post and articles work.
However, nothing in Linux is unfixable, so fret not there is always a fixable solution to a problem 😉
Software in distribution’s repositories may be outdated lacking new features but they aren’t unusable. It’s just that they lack the new updated feature(s). And in case if you’re wondering why distribution maintainers don’t update/upgrade that particular software keeping in sync with the original developer’s version, it’s because the maintainers have varying specifications for their development cycle for the Linux distribution.Usually, most Linux distributions employ the term “freeze state”, which just means that new features for the software aren’t updated anymore instead updating only it’s security vulnerabilities and applying bug fixes. This ensures the user gets better stability over features that might break the system unexpectedly. The best example Linux distro which employs this “freeze state” model is Debian.
Well, you must have already known there are literally hundreds of Linux distros out there that meet different needs. So yes there is a Linux distro (oh, in fact, various Linux distros) that provide the latest cutting-edge software firsthand to the users. Fedora is the best example that suits our case.
So it’s wise to switch Linux distro instead of breaking your existing system and making it unnecessarily complicated to maintain. That way the Operating System won’t get in your way when you need your work done the most.