Often times, when I talk about Linux to people, I’ll often get asked what they can do with it, and whether they can use this piece of software or that. Often, most will ask whether they can use the same software that they use on their Microsoft or MacOS devices. To that end, I decided that one of the best ways to start off a blog that explores free tech about the different sources and ways that you can install software on your Linux device.
So, let's dive into it, shall we?
Direct from Website
Not all developers have a dedicated website, and not all will have the packages downloaded that way. Some developers will only have packages available through
GitHub, which is an excellent place to find software, themes, icon packs and much more. When you go to sites such as GitHub, or the developers own website, you can download and install the package directly for the specific distribution that you have.
Take note of the screenshot to the left. This is a list of possible packages for the text editor software, Atom. This is just a sample list of possible packages. The RPM package is specific to Fedora based systems, whereas DEB is for Ubuntu and Gnome.
When you download a package that has a .deb or .rpm extension, you can simply double click the file and run the software that way, much the same way that you can download and install a .exe file on Microsoft Windows.
The Negatives
As stated above, via the website often comes with the risk of navigating which package is required for your system. If you’re a novice user, this may be a bit confusing.
Additionally, while Gdebi (for .deb) and Yum (for .rpm) can be done via the command line interface, this is something that is often confusing to the novice user. To simply “double click” the downloaded file and allow the installer to do its thing may require either Gdebi or Yumex, for deb and rpm respectively, to be installed.
Via Terminal
Personally, this is my go-to, as it's what I became most used to. Each Linux system, whether you're on Fedora or Ubuntu, will have the Terminal, which is a command line interface. Anyone old enough will remember using DOS based systems, or the old school Word Processors and using Terminal is somewhat similar to that. I think, perhaps, that's why I like it most.
Installation via Terminal involves two steps, unless you know the exact package name to install. First you have to find the package, then you have to install it. But, keep in mind that to do this, you need to know what system you're using, and know what command you need for that system.
In this example, which was a screenshot I took from my Ubuntu system, I've searched for anything with the name "office". The command to do so in Ubuntu, or Debian based systems is as follows:
sudo apt-cache search <search_term>
If, however, you have Fedora or a Fedora-based system, the command will be:
sudo dnf search <search_term>
In either case, it will result in a list with a short description of what each package is.
Once the package, or program, has been decided upon, you then have to install it. In this example, I've chosen a package named "focuswriter". The command to do so in Debian/Ubuntu is as follows:
sudo apt install <package_name>
However, if you have Fedora or a Fedora-based system, the command will be:
sudo dnf install <package_name>
After pressing enter, you will be prompted for your password and it will tell you the packages that will be installed along with the chosen program, and the space it will take up. You have to confirm or deny this. After, you can simply allow it to do it's thing.
The Upside
Now, the good thing about this method is that if you've got a large amount of packages that you know you need to install, it's simply a matter of searching for their exact names (if needed) and taking note, and then including them in one single command with a space between each package name. For example, when I install a new system some of my must-haves are VLC, Gedit and Focus Writer. I can install all three with the single command:
sudo apt install vlc gedit focuswriter
Or, for Fedora:
sudo dnf install vlc gedit focuswriter
The Downside
If you don't know the exact name of the package and you leave it open - such as if looking for anything associated with "Office" - you could be given a dreadfully long list and finding what you wish in that list can be bothersome.
Additionally, you need to be aware of the different commands for the different systems. Attempting to run a DNF command on Ubuntu will give you an error, as would running APT on Fedora. Being aware which command you need is essential for it to run correctly.
Via Graphical Package Manager
Where Terminal is all text-based, the use of a Graphical Package Manager gives a more user-friendly way of searching, installing, updating and removing programs. The typical program for this on Fedora is titled Dnfdragora, whereas on Ubuntu/Debian the program is Synaptic.
While they differ slightly from Fedora to Debian based systems, they essentially run in exactly the same way.
As with the Terminal, the first thing you need to do is search for the program you're wanting, as I've done here with a search for "office" on Dnfdragora. Unlike using the Terminal, though, you can search through the packages with ease. Most will display a blurb about the package so you can easily see if it's the one you're after.
Once you select the package, using the check-box to the right of the name of the package, you simply need to click the "apply" button that you will find at the bottom of the screen.
After you apply the changes, you will get a pop-up with a list of the associated packages that will be installed with the program you're wanting to install. Pressing "OK" will allow the program to do its thing. While these screenshots are for Dnfdragora, the process is essentially the same on Synaptic. No fuss, no muss, nice and simple - with more information about the programs you're looking for to boot!
The Upside
Like with Terminal, you can select multiple programs. You simply need to scroll through the list and select the ones you're after before selecting Apply. Unlike Terminal, though, searching through the list is much easier and provides more information - including, in some cases, links to the developers homepage and screenshots.
The Downside
Sadly, graphical package managers such as Synaptic and Dnfdragora do not come pre-installed on all systems by default and must be installed themselves via Terminal. Which still, then, requires some knowledge of the commands you must use for the system you're on.
Additionally, some users may find it to be clunky and unresponsive at times, and can take quite a while for the software repositories to update.
Snapcraft and Flatpak
Welcome to the future of installing programs on Linux-based systems! Snapcraft and Flatpak are relatively new methods of installing programs, when you compare to how long Linux has been going, but it's what I consider to be one of the easiest - and most reliable - methods. I say that because it doesn't quite matter what system you're on: the process is much the same, and the program will be the same. The reason for this is because when a Snap (the name for a Snapcraft program) or Flatpak is made, it's bundled with all the dependencies that are required for the different types of systems - making it universal.
 |
| Snapcraft Store |
Snapcraft
There are thousands of Apps on the Snapcraft store, under many different categories, from Games to Productivity to Servers. And the best part? There's even some unofficial versions of proprietary software. Some newer versions of Linux already have the Snap settings pre-configured, but if not, don't fret! Getting Snapcraft set up your device is a relatively simple process, but it
does require some familiarity with Terminal. Thankfully, Snapcraft have a rather extensive guide for how to install Snap, that can be found
here. It covers the individual commands needed for whatever system you have, so you don't need to worry about whether you've got Fedora or Debian and the differences there.
There are thousands of Apps on the Snapcraft store, under many different categories, from Games to Productivity to Servers. And the best part? There's even some unofficial versions of proprietary software. Some newer versions of Linux already have the Snap settings pre-configured, but if not, don't fret! Getting Snapcraft set up your device is a relatively simple process, but it
does require some familiarity with Terminal. Thankfully, Snapcraft have a rather extensive guide for how to install Snap, that can be found
here. It covers the individual commands needed for whatever system you have, so you don't need to worry about whether you've got Fedora or Debian and the differences there.
Once that is installed, you can further install the Snap store, which will allow you to search for apps like you would on an app store, allowing you to install programs with ease.
If you don't want to install the Snap store application, or if for some reason you cannot get it to work properly, you can still search for apps via the
Snap Store website. Upon choosing the application you wish to install, you simply need to select "Install" and it'll give you the command for you to do it yourself via Terminal.
 |
| Flathub Store |
Flatpak
Like Snap, Flatpak is available for a plethora of systems and may be installed on the newer versions by default. If not, you can use the Flatpak
website, which provides documentation on how to get set up, customised for the system that you're on.
Unlike Snap, you don't presently have the option to install a desktop store for Flatpak, but never fear, because the
website still has it all and you can browse to your hearts content! Again, you'll find a vast array of applications to suit your every need - and even for things you don't! You can download and install from the link provided on the Flathub website, or you can use the provided command to download and install it via Terminal.
The Upside
 |
| Flathub & Snapcraft installation |
As stated above, there are a plethora of applications that you can find on Snap and Flatpak, many of which cannot be found in the Terminal or other software repositories. In some cases, there have been developers that have worked to make proprietary software, such as Microsoft Office, workable for the Linux desktop. Additionally, Snaps and Flatpaks are designed in such a way that they are self-updating, so all you need to do is install the app and then leave it be.
The downside
Unfortunately, while Snap and Flatpak are gaining in popularity and are being pre-installed on the newer versions of Linux, you still need to either know how to use the Snap store, the Flatpak website. Or, if it's not, you need to have some familiarity with the Terminal to set it up. For a novice user, this can be quite daunting and possibly not worth the bother.
The Verdict?
No matter what route you go down, you can't deny there's a few different options to find and install software on Linux. I, personally, prefer to use the Terminal, but I have a certain fondness for Snap as well.
However, I also know that using it can be a tad confusing. Luckily, Snapcraft and Flatpak come with plenty of user guides that can help you get set up, and you can find plenty of other basic guides that will help answer any questions that you have. If you have any doubt about a specific piece of software, I find it's easiest to go direct to a software developer's website to find if it's going to be best for you, and go from there.
The important thing to remember, though, is that what works well for one will not work the same for another. The graphical user interface is what many prefer, whereas some find text-based to be no-nonsense and therefore the most logical method of working with Linux. Once you find what works for you, it's only a matter of working with it and becoming more familiar with it.
And don't forget - keep an eye out on this site for more tips and guides, as there's plenty more to come in the future!
Comments
Post a Comment