mirror of
https://pagure.io/fedora-docs/quick-docs.git
synced 2024-11-28 14:56:35 +00:00
154 lines
4.9 KiB
Text
154 lines
4.9 KiB
Text
|
= Package management system
|
||
|
|
||
|
'''
|
||
|
|
||
|
[NOTE]
|
||
|
======
|
||
|
|
||
|
This page was automatically converted from https://fedoraproject.org/wiki/Package_management_system
|
||
|
|
||
|
It is probably
|
||
|
|
||
|
* Badly formatted
|
||
|
* Missing graphics and tables that do not covert well from mediawiki
|
||
|
* Out-of-date
|
||
|
* In need of other love
|
||
|
|
||
|
Please fix it, remove this notice, and then add to `_topic_map.yml`
|
||
|
|
||
|
Pull requests accepted at https://pagure.io/fedora-docs/fedora-howto
|
||
|
|
||
|
Once that is live, go to the original wiki page and add an `{{old}}`
|
||
|
tag, followed by a note like
|
||
|
|
||
|
....
|
||
|
{{admon/note|This page has a new home!|
|
||
|
This wiki page is no longer maintained. Please find the up-to-date
|
||
|
version at: https://docs.fedoraproject.org/whatever-the-url
|
||
|
}}
|
||
|
....
|
||
|
|
||
|
======
|
||
|
|
||
|
'''
|
||
|
|
||
|
|
||
|
[[package-management-system]]
|
||
|
Package Management System
|
||
|
-------------------------
|
||
|
|
||
|
[[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
|
||
|
https://www.freedesktop.org/software/PackageKit/[PackageKit] (default
|
||
|
gui) and link:Yum[ yum] (command line tool). As of Fedora 22, yum has
|
||
|
been replaced by link:Dnf[ 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
|
||
|
~~~~~~~~~~~~~~~~~~~~~~~~
|
||
|
|
||
|
link:Dnf[ dnf] - Dandified Yum
|
||
|
|
||
|
link: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://ww1.yum-extender.org/[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/fedora-howto.
|