Fedora Package – Find Which Fedora Package a File Belongs To

fedorafilenamespackaging

In the Debian family of OSes, dpkg --search /bin/ls gives:

coreutils: /bin/ls

That is, the file /bin/ls belongs to the Debian package named coreutils. (see this post if you are interested in a package containing a file that isn't installed)

What is the Fedora equivalent?

Best Answer

You can use rpm -qf /bin/ls to figure out what package your installed version belongs to:

[09:46:58] ~ $ rpm -qf /bin/ls
coreutils-8.5-7.fc14.i686
[09:47:01] ~ $ 

Update: Per your comment, the following should work if you want only the name of the package (I just got a chance to test):

[01:52:49] ~ $ rpm -qf /bin/ls --queryformat '%{NAME}\n'
coreutils
[01:52:52] ~ $ 

You can also use dnf provides /bin/ls to get a list of all available repository packages that will provide the file:

# dnf provides /bin/ls
Last metadata expiration check: 0:17:06 ago on Tue Jun 27 18:04:08 2017.
coreutils-8.25-17.fc25.x86_64 : A set of basic GNU tools commonly used in shell scripts
Repo        : @System

coreutils-8.25-17.fc25.x86_64 : A set of basic GNU tools commonly used in shell scripts
Repo        : updates

coreutils-8.25-14.fc25.x86_64 : A set of basic GNU tools commonly used in shell scripts
Repo        : fedora