Finding and installing Linux applications
This page has been converted from the Fedora Project Wiki and cleaned up for publishing here on the Fedora Docs Portal, but it has not yet been reviewed for technical accuracy. This means any information on this page may be outdated or inaccurate. Reviews for technical accuracy are greatly appreciated. If you want to help, see the README file in the source repository for instructions.
Many powerful software applications are available on the Linux operating system. You can find alternatives to most of the popular applications used on other systems.
You can use the Fedora package management system to install applications. Many applications are available from the repository provided by the Fedora project. You can enable other repositories to get additional applications.
Like most modern Linux distributions, Fedora uses a package management system. Package management tools automate installation, upgrading, and removing of software applications and components.
Each application or component is defined as a package. When the package is installed, all code, configuration, and other files are deployed on the system.
|A single package is not necessarily the same as an application. Some applications can be shipped as several packages. Moreover, shared code (libraries) in Linux is normally shipped as separate packages, while in other systems applications often ship their own versions of required libraries and install them if necessary.|
The package management tools track which files on your Fedora installation belong to each package; normally, every file that is installed in the
/usr tree as well as most configuration files under
/etc are installed by one of the packages. When installing a package, the package management system verifies its integrity; if any files are missing or corrupted, the package is not installed.
The package management system also tracks all dependencies between the packages. For example, if an application requires some libraries, the package for this application lists the libraries as dependencies. When you install the application package, the package management tools automatically install the library packages. If a dependency is not available, the tools do not install the package, so you can avoid a sudden malfunction.
When you want to remove a package, package management tools cleanly delete all code files for this package without affecting other packages. By default, configuration files are not removed, so you can install the package again and keep the configuration that you have set up earlier.
Updating any package is entirely automatic with the package management system. The system replaces all the necessary code files and preserves existing configuration.
In fact, for most Linux distributions, including Fedora, all of the system installation except the earliest part is performed by installing various packages. Security updates and upgrades to a next release are performed entirely by package management tools.
Fedora’s package management system uses the RPM package format. The application that manages packages in Fedora (since version 22) is DNF. Graphical package management is provided by the Gnome Software utility. For automatic updates, Fedora uses the PackageKit utility. Command-line and graphical tools provide the same results.
To get packages, DNF uses repositories. A repository is an organized collection of packages. Repositories can be kept on any data media; notably, the Fedora installation image contains a repository. However, most up-to-date repositories are normally maintained online.
Each Fedora release has an official fedora repository and an updates repository (which contains critical updates since the release). In these repositories, you can find most common Linux open-source software. You can also install packages from other repositories, not maintained by the Fedora project and known as third-party repositories.
Most of the time, it is best practice to install software on your Fedora Linux system using only the Fedora package management system. In this case, packages are installed in the most reliable way and automatic updates can be provided.
While many Linux applications can be built and installed from from source code, using such builds can make your system much harder to manage. For example, automatic updates to system packages (especially when updating to the next release) might impact an application that was installed from source. And, of course, no automatic security updates are available for the application.
Sometimes you might need to install software using other package management systems. Notably:
However, installing applications using the Fedora package management systems is the preferred option.
To complete your tasks on a Linux system, you need to find the software applications that fit your needs. If you are switching from another operating system, you might need to find replacements for the software that you used before.
Most applications available on Linux are open-source software. You can use open-source software without acquiring any licenses. Moreover, widespread open-source software is usually available in the official Fedora repository, so you can install it easily.
Access the following websites to review Linux alternatives to popular software packages:
You can use a graphical utility to browse the available software packages. When you find the software that you want, you can use the utility to install it on your Fedora system.
To install any packages on your Fedora system, you need to have root privileges.
On your GNOME desktop, select the Activities menu and then click the icon.
Find a software package in one of the following ways:
Click on one of the listed categories, for example, Work. Then review the suggested software in the category. For example, in the "Work" category, you are able to select different applications: Calendar, Database, Finance, Word Processor.
Choose one of the Editor’s Picks or other recommended software in the window.
Click the icon, then enter a keyword or the name of the application. Review the suggested packages.
Click a package to read its description.
To install the package, click the Install button. When prompted, provide the root password.
You can install packages in Fedora using the DNF utility.
You must execute the command with root privileges. Use one of the following methods:
Prefix the command with
sudoand provide your user password. The
sudocommand must be enabled for your user.
sucommand and provide the root password to switch to a root prompt in a terminal window.
Log in as
rooton a virtual console.
You must know the name of the package. Any dependencies will be installed automatically.
Run the command:
# dnf install <packagename>
<packagename>is the name of the package.
yto any prompts, if necessary.
You can install software packages from repositories that are not supported by the Fedora project, known as third-party repositories.
The most commonly used third-party repository is RPM Fusion. It provides packages that can not be included in Fedora because of US software patents or other similar reasons. Among other things, RPM Fusion provides packages necessary for viewing media in many common formats. RPM Fusion packages are extensively tested, but they are not supported by the Fedora project.
A set of repositories for Fedora is known as Copr. Developers can provide packages in Copr repositories for software that is not at present included in Fedora. These packages might be untested.
Certain non-free applications for Linux, such as Google Chrome or Skype, provide their own repositories for Fedora.
To install software from a third-party repository, you must first enable that repository. Then the packages from the repository become available in the command line and graphical package management tools.
|If you enable a third-party repository, packages that you did not explicitly select might also be installed from the repository. Do not enable repositories that you do not trust. The Fedora project does not support third-party repositories.|
To enable a third-party repository, follow the instructions provided by the repository. For example:
For RPM Fusion, https://rpmfusion.org/Configuration
For Copr repositories, https://docs.pagure.org/copr.copr/how_to_enable_repo.html