9.2.2. Finding Packages with Filters
Once the software sources have been updated, it is often beneficial to apply some filters so that PackageKit retrieves the results of our Find queries faster. This is especially helpful when performing many package searches. Four of the filters in the drop-down menu are used to split results by matching or not matching a single criterion. By default when PackageKit starts, these filters are all unapplied ( ), but once you do filter by one of them, that filter remains set until you either change it or close PackageKit.
Because you are usually searching for available packages that are not installed on the system, click and select the radio button.
![Filtering out already-installed packages](https://access.redhat.com/webassets/avalon/d/Red_Hat_Enterprise_Linux-6-Deployment_Guide-en-US/images/080ac51d5dfc6305428b680b75c0a02a/Graphical_Package_Management-filters-only_available.png)
Figure 9.5. Filtering out already-installed packages
Also, unless you require development files such as C header files, click and select the radio button. This filters out all of the
<package_name>-devel
packages we are not interested in.
![Filtering out development packages from the list of Find results](https://access.redhat.com/webassets/avalon/d/Red_Hat_Enterprise_Linux-6-Deployment_Guide-en-US/images/c923636b8b27950e1a6e6e6e1ad86c23/Graphical_Package_Management-filters-only_end_user.png)
Figure 9.6. Filtering out development packages from the list of Find results
The two remaining filters with submenus are:
- Narrows the search to either applications which provide a GUI interface () or those that do not. This filter is useful when browsing for GUI applications that perform a specific function.
- Search for packages which are considered to be free software. See the Fedora Licensing List for details on approved licenses.
The remaining filters can be enabled by selecting the check boxes next to them:
- Checking thecheck box filters out generally-uninteresting packages that are typically only dependencies of other packages that we want. For example, checking and searching for
<package>
would cause the following related packages to be filtered out of the results (if it exists):<package>-devel
<package>-libs
<package>-libs-devel
<package>-debuginfo
- Checkingfilters out all older versions of the same package from the list of results, which is generally what we want. Note that this filter is often combined with the filter to search for the latest available versions of new (not installed) packages.
- Only native packages
- Checking the compatibility mode. For example, enabling this filter on a 64-bit system with an AMD64 CPU would cause all packages built for the 32-bit x86 CPU architecture not to be shown in the list of results, even though those packages are able to run on an AMD64 machine. Packages which are architecture-agnostic (i.e. noarch packages such asbox on a multilib system causes PackageKit to omit listing results for packages compiled for the architecture that runs in
crontabs-1.10-32.1.el6.noarch.rpm
) are never filtered out by checking . This filter has no affect on non-multilib systems, such as x86 machines.