78

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?

1 Answer 1

100

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
5
  • Is there a way to have rpm display owners of a file without providing a full path? You wanna add a note to that effect?
    – tshepang
    Dec 10, 2010 at 7:27
  • @Tshepang: I think you should be able to add --queryformat '%{NAME}' to accomplish that, but I haven't tested it myself. I can do a quick test and update this after work, though. In the meantime, you might find the info here useful: rpm.org/max-rpm/s1-rpm-query-parts.html Dec 10, 2010 at 14:25
  • 1
    Just wanted to add that OpenSuSE's zypper has a what-provides feature that accomplishes this task. This question comes up first when doing a search, so it would be handy to have this answer even though the question is specific. Apr 4, 2012 at 2:14
  • 3
    For fedora 22 "dnv provides filename" also works Aug 12, 2015 at 19:59
  • 1
    Please, add a note that for files that are not in the system yet one can use a dnf provides "*filename". I'm sure some people are getting to this post by searching for a way to figure out a package by knowing only a filename (usually some development headers or libraries), and it would be nice if the answer would cover both usecases.
    – Hi-Angel
    Aug 8, 2022 at 19:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.