Installing any package or software on the Linux system is very confusing for beginners. There are lots of different options in Linux to install software from any other operating system. It gives you freedom of your choice to install software but for others, it becomes so much harder to know all the way and find which one is better for them. So in this article, we find which packaging format works better for you and your device.
Regular Packages like .debs and .rpms
We have .deb packages in Ubuntu and all Ubuntu base system and .rpm developed in the red hat and which work on Fedora, centos etc. They aren't like .exe or .msi in Windows they are provided by your distros. You can download these packages from your software manager. In there, you can install whole packages or libraries you want to install. When you install this package then it will use the library if it is already installed or it will download the library. So all the packages use the same library they don't install there own library. That will provide benefits if you have limited space to work on.
There are disadvantages to using this package system. The first one is security, you going to install this package by sudo command so you are giving all permission to this software which leads to installing malware in your machine. All packages are using one library so they can create conflicting dependencies. For developers creating this kind of package is a very tedious task because they have to create one package for a different architecture, different bits of computer, for all versions and different distro so, developers do not provide or maintain this software they leave this work to the distro.
Flatpacks
In this kind of package, we have one bundle for running the whole application. If the software has so much library then you can unpackage and install what is remaining. In comparison to the regular old package system, Flatpack is more secure, because it can install as a regular user and so you don't install extra files. Flatpack is not completely secure but in place of regular packages is way better in security. And for developers making flatpack software package is very simple than regular package because they don't have to make software for all different way they only make it only once it run anywhere and so you do not have to wait for your distros to provide an update of software, when developer update is available you can install it on your device. And unlike regular packages, there is no dependency hell because all packages come with their library.
But after all this Flatpaack is not the best one because it has its drawbacks. All package have their library so obviously they hold more space on your computer. They are used for a graphical program you can not use this to install a single library. The last one is Flatpack might not follow your custom theme of the device but you can download the theme on Flathub. After all these drawbacks Flatpack is adopted by every single distribution other than Ubuntu.
Snap
Ubuntu and its relative all have their package system like flatpacks it's called snap. Snap have so many similarities to flatpack like once the build run everywhere so developer have to build only one package. snap varies from flatpack in some ways they are auto updatable they will update automatically once updates are available. They are container means they have a different file system in your computer so they can not do anything weird on your computer.
One main disadvantage is that Snap is not open source so cannot see code behind it and you can not create your package. Second is just like flatpack it does not follow the custom theme of your computer. Last is the snap package will take more time to open than any other package.
App images
In this package system, you have only a single file which contains all your libraries and dependency for running software. They are very portable and it is good for developers to only create packages once. They run on any distros but Ubuntu broke app image support
Like any other package format, it also has disadvantages like it can't create icons(you can install a helper for that) in your system and don't follow you computer theme.
Aur
This type of format is available on the arch-based system. It is a very big repository of libraries. You can install any package official or unofficial library, any icon or system theme. They are scripts of programs which you install so you have to read the whole script or you have to trust your system security to one individual, also it takes so much more time to install the package on the system than any other package format.
Which one is best for you?
Actually, there is no correct answer to this. You can use any package format you like and which suit you. You can use a combination of good old package format and flatpack for all your graphical. Its Just Work!!