From Fedora Project Wiki

m (fix typo)
m (Just add a link on how to install a package)
 
(10 intermediate revisions by 7 users not shown)
Line 3: Line 3:
== Introduction ==
== Introduction ==


Fedora is a distribution that uses a package management system. This system is based on [http://rpm.org rpm] , the RPM Package Manager, with several higher level tools built on top of it, most notably [http://www.packagekit.org PackageKit] (default gui) and [http://fedoraproject.org/wiki/Tools/yum yum] (command line tool).  
Fedora is a distribution that uses a package management system. This system is based on [http://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 [[Yum| yum]] (command line tool). As of Fedora 22, yum has been replaced by [[Dnf| dnf]].  The Gnome Package Manager is another GUI package manager.


== Advantages of package management systems ==
== Advantages of package management systems ==
Line 13: Line 13:
* It's easy to remove a package entirely, making sure all its files are gone.  
* It's easy to remove a package entirely, making sure all its files are gone.  


* It's easy to verify the integrety of the packages files, so you can see if it's been corrupted or tampered with.  
* It's easy to verify the integrity of the packages files, so you can see if it's been corrupted or tampered with.  


* 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 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 see what packages require or provide things that other packages provide or require, so you can be sure to have the needed  
* 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.  
items for the package to function correctly.  


* It's easy to install or remove groups of packages.  
* It's easy to install or remove groups of packages.  
Line 38: Line 37:
* The source install may override a package install causing undefined behavior in the package or source installed item.  
* The source install may override a package install causing undefined behavior in the package or source installed item.  


* Installing from source makes it impossible or very difficult for anyone to help you debug issues, since versions can't be easily queried and integrety checked.  
* 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.  


* Fedora packages may have patches or configuration to work with other packages, but upstream source does not, leading to loss of functionality.  
* Fedora packages may include patches or configuration to work with other packages, but upstream source does not, leading to loss of functionality.  


* Software installed from source will not upgrade with package managed packages, leading to breakage in the source install package on upgrades or os updates.  
* Software installed from source will not upgrade with package managed packages, leading to breakage in the source install package on upgrades or os updates.  


Strongly consider making your own package if you need a different version or a version of some package with changes. See: [http://fedoraproject.org/wiki/How_to_create_an_RPM_package How to create a RPM package]
Strongly consider making your own package if you need a different version or a version of some package with changes. See: [[How_to_create_an_RPM_package|How to create a RPM package]]


== Preferred search order for a software ==
== Preferred search order for a software ==


If some software is missing in your installation then you should try the following steps to get the packaged version:
If some software is missing in your installation then you should try the following steps to get the packaged version:
# Search in Fedora ( 'yum search foo' or search for 'foo' in the PackageKit gui )
# Search in Fedora ( 'yum|dnf search foo' or search for 'foo' in the PackageKit gui )
# Yry one of the available [http://fedoraproject.org/wiki/OtherRepositories 3rd party] repositories
# Try one of the available [[Third_party_repositories| 3rd party]] repositories
# [http://fedoraproject.org/wiki/How_to_create_an_RPM_package Build your own package]
# [[How_to_create_an_RPM_package| Build your own package]]


== Package Management tools ==
== Package Management tools ==


[http://fedoraproject.org/wiki/Tools/yum yum] - Yellowdog Updater Modified
[[Dnf| dnf]] - Dandified Yum


[http://www.packagekit.org/ PackageKit] - PackageKit gui tool ('add/remove software' in your menu)
[[Yum| yum]] -  Yellowdog Updater Modified
 
[https://www.freedesktop.org/software/PackageKit/ PackageKit] - PackageKit gui tool ('add/remove software' in your menu)


[http://rpm.org rpm] - RPM package manager.
[http://rpm.org rpm] - RPM package manager.


[http://www.yum-extender.org/ yumex] - Yum Extender.
[http://ww1.yum-extender.org/ yumex] - Yum Extender.
 
[https://fedoraproject.org/wiki/User_Guide_-_Managing_Software How to install a a package/Software] User Guide - Managing Software
 
 
[[Category:Software Management]]

Latest revision as of 20:51, 2 November 2017

Package Management System

Introduction

Fedora is a distribution that uses a package management system. This system is based on rpm , the RPM Package Manager, with several higher level tools built on top of it, most notably PackageKit (default gui) and yum (command line tool). As of Fedora 22, yum has been replaced by dnf. The Gnome Package Manager is another GUI package manager.

Advantages of package management systems

Package management systems have many advantages:

  • 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 verify the integrity of the packages files, so you can see if it's been corrupted or tampered with.
  • 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 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 install or remove groups of packages.
  • 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.

Disadvantages of package management systems

  • You are restricted to either using the versions of the package that are available or having to make your own package if you need a different version.

Why mixing source installs and packages is a bad idea

Package management systems have no way to query or note when you bypass them and install something from source. You should avoid mixing source installs and packaged installs for (at least) the following reasons:

  • You lose all the advantages above from a package managed system.
  • Installing from source may overwrite, delete, or change existing files that are in a package, making that package not function correctly.
  • The source install may override a package install causing undefined behavior in the package or source installed item.
  • 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.
  • Fedora packages may include patches or configuration to work with other packages, but upstream source does not, leading to loss of functionality.
  • Software installed from source will not upgrade with package managed packages, leading to breakage in the source install package on upgrades or os updates.

Strongly consider making your own package if you need a different version or a version of some package with changes. See: How to create a RPM package

Preferred search order for a software

If some software is missing in your installation then you should try the following steps to get the packaged version:

  1. Search in Fedora ( 'yum|dnf search foo' or search for 'foo' in the PackageKit gui )
  2. Try one of the available 3rd party repositories
  3. Build your own package

Package Management tools

dnf - Dandified Yum

yum - Yellowdog Updater Modified

PackageKit - PackageKit gui tool ('add/remove software' in your menu)

rpm - RPM package manager.

yumex - Yum Extender.

How to install a a package/Software User Guide - Managing Software