Fedora provides
PackageKit for viewing, managing, updating, installing and uninstalling packages compatible with your system.
PackageKit consists of several graphical interfaces that can be opened from the GNOME panel menu, or from the Notification Area when
PackageKit alerts you that updates are available. For more information on
PackageKit's architecture and available front ends, refer to
Section 5.3, “PackageKit Architecture”.
5.1. Updating Packages with Software Update
You can open Software Updates by clicking → → from the menu, or running the gpk-update-viewer
command at the shell prompt. In the Software Updates window, all available updates are listed along with the names of the packages being updated (minus the .rpm
suffix, but including the CPU architecture), a short summary of the package, and, usually, short descriptions of the changes the update provides. Any updates you do not wish to install can be de-selected here by unchecking the checkbox corresponding to the update.
The updates presented in the
Software Updates window only represent the currently-installed packages on your system for which updates are available;
dependencies of those packages, whether they are existing packages on your system or new ones, are not shown until you click
Install Updates.
PackageKit
utilizes the fine-grained user authentication
capabilities provided by the
PolicyKit toolkit whenever you request it to make changes to the system. Whenever you instruct
PackageKit to update, install or remove packages, you will be prompted to enter the superuser password before changes are made to the system.
If you instruct PackageKit to update the kernel
package, then it will prompt you after installation, asking you whether you want to reboot the system and thereby boot into the newly-installed kernel.
5.1.1. Setting the Update-Checking Interval
Selecting → → from the menu opens the Software Update Preferences window. The Update Settings tab allows you to define the interval at which PackageKit checks for package updates, as well as whether or not to automatically install all updates or only security updates. Leaving the Check for updates when using mobile broadband box unchecked is handy for avoiding extraneous bandwidth usage when using a wireless connection on which you are charged for the amount of data you download.
5.1.2. Setting the Software Sources
To select which package repositories to use to install software updates, select → → from the menu, and click the Software Sources tab of the Software Update Preferences window.
PackageKit refers to Yum repositories as software sources. It obtains all packages from enabled software sources.The Software Sources tab shows the repository name, as written on the name=My Repository Name
field of all [repository
] sections in the /etc/yum.conf
configuration file, and in all repository
.repo
files in the /etc/yum.repos.d/
directory.
Entries which are checked in the Enabled column indicate that the corresponding repository will be used to locate packages to satisfy all update and installation requests (including dependency resolution). The Enabled column corresponds to the enabled=<1 or 0>
field in [repository
] sections. Checking an unchecked box enables the Yum repository, and unchecking it disables it. Performing either function causes PolicyKit to prompt for superuser authentication to enable or disable the repository. PackageKit actually inserts the enabled=<1 or 0>
line into the correct [repository
] section if it does not exist, or changes the value if it does. This means that enabling or disabling a repository through the Software Sources window causes that change to persist after closing the window or rebooting the system. The ability to quickly enable and disable repositories based on our needs is a highly-convenient feature of PackageKit.
Note that it is not possible to add or remove Yum repositories through PackageKit.
Checking the box at the bottom of the Software Sources tab causes PackageKit to display source RPM, testing and debuginfo repositories as well. This box is unchecked by default.