mirror of
https://pagure.io/fedora-docs/quick-docs.git
synced 2024-12-01 07:39:48 +00:00
0271db9b23
The content in page "Creating RPM Packages" has been subsumed under "Package Tutorial: GNU Hello" in the Package Maintainer Docs. Thus, the page is removed and all references to it are pointed to the Packaging Tutorial. "Creating RPM Packages" has one subpage, which is moved to a top-level page. In a separate commit for the Package Maintainer Docs, the url of "Creating RPM Packages" will be listed as an alias of the "Package Tutorial" so that external links will keep working.
116 lines
4.3 KiB
Text
116 lines
4.3 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:
|
|
xref:package-maintainers::Packaging_Tutorial_GNU_Hello.adoc[Packaging Tutorial: GNU Hello]
|
|
|
|
[[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.
|