English French
Advantages of package management systems
Disadvantages of package management systems
Fedora is a distribution that uses a package management system. This system is based on https://rpm.org[rpm] , the RPM Package Manager, with several higher level tools built on top of it, most notably https://www.freedesktop.org/software/PackageKit/[PackageKit] (default gui) and xref:dnf.adoc[DNF]. GNOME Software is another GUI package manager.
Fedora packages may include patches or configuration to work with other packages, but upstream source does not, leading to loss of functionality.
Here are some tools for managing packages:
https://apps.kde.org/discover/[KDE Discover] - Graphical pacakge manager for KDE Plasma
https://github.com/timlau/yumex-dnf[yumex] - Yum Extender. '''
https://rpm.org[rpm] - RPM package manager.
https://wiki.gnome.org/Apps/Software[GNOME Software] - ­Graphical package manager for GNOME
https://www.freedesktop.org/software/PackageKit/[PackageKit] - PackageKit gui tool ('add/remove software' in your menu)
If some software is missing in your installation then you should try the following steps to get the packaged version:
In many cases it's possible to downgrade back to a previous version of a package, for example when a new version has a bug.
Installing from source makes it impossible or very difficult for anyone to help you debug issues, since versions can't be easily queried and integrity checked.
Installing from source may overwrite, delete, or change existing files that are in a package, making that package not function correctly.
It's easy to install or remove groups of packages.
It's easy to query what version of a package is installed or available.
It's easy to remove a package entirely, making sure all its files are gone.
It's easy to see what packages require or provide things that other packages provide or require, so you can be sure to have the needed items for the package to function correctly.
It's easy to upgrade a package by installing the new version and removing all the old versions files. This will make sure not to leave any lingering files from the old package around to confuse or break things.
It's easy to verify the integrity of the packages files, so you can see if it's been corrupted or tampered with.