mirror of
https://pagure.io/fedora-docs/quick-docs.git
synced 2024-11-24 21:35:17 +00:00
116 lines
4.2 KiB
Text
116 lines
4.2 KiB
Text
= Package management system
|
|
|
|
[[package-management-system]]
|
|
Package Management System
|
|
-------------------------
|
|
|
|
[[introduction]]
|
|
Introduction
|
|
~~~~~~~~~~~~
|
|
|
|
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 Yum (command line tool). As of Fedora 22, yum has
|
|
been replaced by xref:dnf.adoc[DNF]. The Gnome Package Manager is another
|
|
GUI package manager.
|
|
|
|
[[advantages-of-package-management-systems]]
|
|
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]]
|
|
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]]
|
|
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:
|
|
link: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:
|
|
|
|
1. Search in Fedora ( 'yum|dnf search foo' or search for 'foo' in the
|
|
PackageKit gui )
|
|
2. Try one of the available link:Third_party_repositories[ 3rd party]
|
|
repositories
|
|
3. link:How_to_create_an_RPM_package[ Build your own package]
|
|
|
|
[[package-management-tools]]
|
|
Package Management tools
|
|
~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
xref:dnf.adoc[dnf] - Dandified Yum
|
|
|
|
https://www.freedesktop.org/software/PackageKit/[PackageKit] -
|
|
PackageKit gui tool ('add/remove software' in your menu)
|
|
|
|
https://rpm.org[rpm] - RPM package manager.
|
|
|
|
https://github.com/timlau/yumex-dnf[yumex] - Yum Extender.
|
|
|
|
Category:Software_Management[Category:Software Management]
|
|
'''
|
|
|
|
See a typo, something missing or out of date, or anything else which can be
|
|
improved? Edit this document at https://pagure.io/fedora-docs/quick-docs.
|