urpmf
Find packages providing specific files
TLDR
Search for packages that contain a file
Search for packages that contain both a keyword [a]nd another in their summaries
Search for packages that contain a keyword [o]r another in their descriptions
Search for packages that do not contain a keyword in their name ignoring case distinction using "|" as the [F]ield separator (":" by default)
SYNOPSIS
urpmf [OPTIONS] <FILE_PATTERN>
urpmf [OPTIONS] --provides <CAPABILITY_PATTERN>
PARAMETERS
-a, --all
Search all available sources, including installed packages and remote repositories.
-i, --info
Display detailed information for matching packages, such as description, version, and architecture.
-p, --provides
Search for packages that provide a specific capability (e.g., shared library, virtual package) instead of files.
-N, --not-installed
Limit the search to packages available in configured repositories, excluding installed ones.
-I, --installed
Limit the search to packages currently installed on the system.
-r <repo>, --repo <repo>
Search only in the specified repository name or ID.
-v, --verbose
Enable verbose output, showing more details about the search process.
--fuzzy
Enable fuzzy matching for the provided file or capability pattern.
--exact
Require an exact match for the file or capability pattern.
--regexp
Treat the pattern as a regular expression for advanced matching.
DESCRIPTION
The urpmf command is a powerful utility within the urpmi package management system, primarily used in Mageia and Mandriva Linux distributions. Its core function is to search for files (or capabilities) provided by installed RPM packages or available in configured repositories. This is invaluable for identifying which package provides a specific library, executable, or configuration file, aiding in troubleshooting, dependency resolution, or simply discovering packages. Unlike the more general urpmi command which focuses on package installation and queries, urpmf excels at pinpointing the source package of a particular file, making it an essential tool for system administrators and developers working with these RPM-based systems.
CAVEATS
urpmf is specific to Mageia and Mandriva Linux distributions and relies on the urpmi package manager being configured. Its functionality is not available on other major Linux distributions like Debian/Ubuntu (which use dpkg) or Fedora/RHEL/CentOS (which use rpm/dnf). Search performance can vary based on the number and size of configured repositories, especially when using the --all option.
SEARCH SCOPE
By default, urpmf searches only installed packages. To search both installed packages and remote repositories, the -a or --all option is required. This is a crucial distinction for finding files that might not yet be on your system.
FILE VS. CAPABILITY SEARCH
While primarily known for finding files, urpmf can also search for packages providing specific 'capabilities' using the -p or --provides option. Capabilities often represent shared libraries (e.g., libssl.so.1.1), virtual packages, or specific software features, making urpmf -p analogous to urpmi --whatprovides in some contexts.
HISTORY
The urpmf command emerged as part of the urpmi suite, developed for Mandrake Linux (later Mandriva). Its creation aimed to provide a more user-friendly and dependency-aware package management experience compared to the raw rpm commands. As a key component of urpmi, urpmf was designed to efficiently query package databases for file ownership and capabilities, significantly simplifying tasks such as identifying which package provides a specific file. Its development continued as Mandriva evolved into Mageia Linux, where it remains a central tool for package queries.