LinuxCommandLibrary

urpmf

Find packages providing specific files

TLDR

Search for packages that contain a file

$ urpmf [filename]
copy

Search for packages that contain both a keyword [a]nd another in their summaries
$ urpmf --summary [keyword1] -a [keyword2]
copy

Search for packages that contain a keyword [o]r another in their descriptions
$ urpmf --description [keyword1] -o [keyword2]
copy

Search for packages that do not contain a keyword in their name ignoring case distinction using "|" as the [F]ield separator (":" by default)
$ urpmf --description ! [keyword] -F'|'
copy

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.

SEE ALSO

urpmi(8), rpm(8), dpkg(1), dnf(8)

Copied to clipboard